Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Перекрытие клиентской области 
V
    Опции темы
AndrRus
Дата 6.3.2008, 23:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 70
Регистрация: 14.10.2006
Где: Санкт-Петербург

Репутация: нет
Всего: 1



Недавно начал изучать MFC и решил попробовать на практике свои знания. И возникла проблема:
Запускаю диалоговое окно из меню, в котором выбираю нужные параметры для вывода того или иного изображения в клиентскую область. Вывод изображения осуществляется в следующей функции:
Код

void CChildView::OnAdjustmentsStartawindow() {
    INT_PTR dlgCheck;
    CMyDialog dlgFirst;
    dlgFirst.m_strColor = "Black";
    dlgCheck = dlgFirst.DoModal ();
    if (dlgCheck == IDOK) {
        if (dlgFirst.m_bCheck == TRUE) {
            CPaintDC dc (this);
            // Конструируется изображение по параметрам заданным в диалоговом окне.
        }
    }
}

Но проблема в том, что рисование производится только в той области, где диалоговое окно перекрывало клиентскую область. Как я понимаю, это все по причине того, что я использую рисование только в границах диалогового окна? Как разрешить это проблему?

PM MAIL ICQ   Вверх
Earnest
Дата 7.3.2008, 10:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5962
Регистрация: 17.6.2005
Где: Рязань

Репутация: 87
Всего: 183



Рисование (во вью) должно быть отдельным методом - обработчиком OnPaint - ведь рисовать нужно не только после вызова диалога, но и в других ситуациях - скажем, восстанавливать картинку после перекрытия другими окнами и т.д.
А после dlgFirst.DoModal просто вызови Invalidate(). А введенные параметры, конечно, нужно запиоминать в переменных вью, чтобы использовать их в любой момент.


--------------------
...
PM   Вверх
AndrRus
Дата 7.3.2008, 16:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 70
Регистрация: 14.10.2006
Где: Санкт-Петербург

Репутация: нет
Всего: 1



Действительно, спасибо за мысль, премного благодарен!
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Visual C++/MFC/WTL | Следующая тема »


 




[ Время генерации скрипта: 0.0396 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.