Форум программистов, компьютерный форум, киберфорум
Visual C++
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 1
Регистрация: 06.07.2010
Сообщений: 21

Из одного контекста устройства в другой

17.05.2012, 12:37. Показов 578. Ответов 0
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
В общем, осознал и понял свои желания скрытые я)

Есть у меня в MFC doc/view соответственно класс View и некий диалог... (далее кому лень вникать кто просто знает тему хорошо лучше сразу вниз к вопросу)


а в далоге picture control. View у меня с диска берет картинку и показывает ее вот так:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
void CEx07bView::OnDraw(CDC* pDC)
{   
    CClientDC dc(this); 
    GetClientRect(&rc);     
    
    dcMem.DeleteDC();
    hBmp = NULL;;
    m_bmpBack.DeleteObject();
    hBmp = LoadImage(NULL,"d:/USBconn.bmp",IMAGE_BITMAP,0,0,LR_LOADFROMFILE);   
    GetObject ( hBmp, sizeof(bm), &bm );    
    m_bmpBack.Attach(hBmp);     
    dcMem.CreateCompatibleDC(&dc);
    hbmpOld = (HBITMAP)dcMem.SelectObject(m_bmpBack);   
    dc.StretchBlt(rc.left, rc.top, rc.right, rc.bottom,&dcMem, 0, 0, (int)bm.bmWidth, (int)bm.bmHeight, SRCCOPY);   
}
И вот очень хочется мне показать картинку из DC во View в DC в picture control, в Dialog.

Передал в переменную связанную с picture control dc из view вот так в конструктор:

Code
1
2
3
4
void CEx07bView::OnAppAbout()
{
    
    CAboutDlg aboutDlg(GetDC());
В классе переменная которого связана с picture control ссылочку присваиваю одному из свойств его

C++
1
2
3
4
5
void myStaric::DoIt(CDC *h)
{       
    mh = h;
    ext = 3;    
}
а рисую в нем вот так:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
void myStaric::OnPaint()
{       
    CClientDC dc(this); 
    GetClientRect(&rc);
switch (ext)
{
case 2:
    //...
case 1:
    //...
case 3:
    dc.StretchBlt(rc.left, rc.top, rc.right, rc.bottom,mh, 0, 0, (int)bm.bmWidth, (int)bm.bmHeight, SRCCOPY);   
    break;  
}       
}
и естественно ничего не рисуется)

Как правильно передать содержимое, изображение одного DC из класса view в другой, в частности в DC picture control в диалоге?

Добавлено через 56 минут
Поставил "нормальные координаты" в 6,7,8,9 параметры StretchBlt ииииии получил офигительную живую рекурсию в дилоге, хотя мне то надо только один мертвый кадр.

Ну, думаю, дальше разберусь, спасибо сообществу за активную помощь!)
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
17.05.2012, 12:37
Ответы с готовыми решениями:

Определение контекста устройства
Приветствую всех! Вопрос в следующем: есть строка DC_Handle=CreateDC("Display",NULL,NULL,NULL); и эквивалентная ей: DC_Handle :=...

определение дилины символьной строки в пикселах для заданного контекста устройства (hDC)
вопрос такой: как? пробовал использовать функции GetTextMetrics и GetTextExtentPoint32 и у меня не получилось :( первая не заполняла...

Копирование из одного массива в другой массив одного объекта
Пытаюсь скопировать дного массива в другой массив один объект, но не выходит. Условие следующее. - есть созданные массивы: public...

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
17.05.2012, 12:37
Помогаю со студенческими работами здесь

Передать данные одного обьекта класса в другой обьект на другой форме
Здравствуйте прочитал вот это https://www.cyberforum.ru/windows-forms/thread110436.html но так и не понял как передать данные одного...

Из одного файла переместить текст в другой файл с заменой текста на другой
Помогите нужно сделать вот такую вещь заготовка есть но не могу осмыслит как сделать вот это: Надо из одного файла переместить текст в...

Как перенести значение из одного текстбокса в другой, находящийся в другой форме
есть текстбокс в форме, в нем считается значение это значение нужно перенести в другую форму в другой текстбокс в контрол сурс написал...

Как скопировать текст от одной заданной метки до другой из одного текстового файла в другой?
нужно скопировать всё что находится в txt файле ОТ <dekl> ДО </dekl> подскажите пожалуйста, сам найти так и не смог =(

В структуре нужно из одного метода взять значение массива и перетащить в другой (другой метод)
struct matrix { public int sz; public void size() { Console.Write("Задайте размер...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
Вывод данных в справочнике через динамический список
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ нетипового документа. . .
Функция заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению. На форме документа создается. . .
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
10 пpимет, которые всегда сбываются
Maks 31.03.2026
1. Чтобы, наконец, пришла маршрутка, надо закурить. Если сигарета последняя, маршрутка придет еще до второй затяжки даже вопреки расписанию. 2. Нaдоели зима и снег? Не надо переезжать. Достаточно. . .
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 31.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru