Russian Qt Forum
Апрель 26, 2024, 07:17 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Чем отличается onDraw от OnPaint  (Прочитано 9773 раз)
root
Гость
« : Март 31, 2004, 17:56 »

Господа, чем отличается процедуры в Visual C++ onDraw() от onPaint()
Записан
Злой
Гость
« Ответ #1 : Апрель 01, 2004, 05:59 »

Правильнее сказать, не в Visual C++, а в MFC Подмигивающий

OnPaint() - это обработчик события WM_PAINT
OnDraw() - это виртуальная функция в классе CView, которая вызывается каркасом при обработке WM_PAINT и при выводе на печать.
Записан
Greyer
Гость
« Ответ #2 : Апрель 01, 2004, 11:30 »

Цитата: "Злой"
OnDraw() - это виртуальная функция в классе CView, которая вызывается каркасом при обработке WM_PAINT и при выводе на печать.

Не только в классе CView, а так же COleConrol и ещё каких то. В MSDN написано, что вызов WM_PAINTа заканчивается вызовом OnDraw - для прорисовки контрола (COleControl), но если контрол не активен, то OnPaint не вызывается и идёт прямой вызов OnDraw (если только я правильно перевёл  Улыбающийся ).
В OnDraw прорисовываются контролы, т.е. например при создании ActiveX или переделки каких то обычны контролов (кнопок и т.д.)именно эту ф-цию и приходится расписывать.
Перерисовка окон (вызов WM_PAINT'а) происходит при: создании, изменении размеров, перемещении, минимизации или ввостановлении, отображении данных из открываемого файла, и перемещении, изменении, или выборе части отображаемых данных.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.049 секунд. Запросов: 21.