Название: Чем отличается onDraw от OnPaint Отправлено: root от Март 31, 2004, 17:56 Господа, чем отличается процедуры в Visual C++ onDraw() от onPaint()
Название: Чем отличается onDraw от OnPaint Отправлено: Злой от Апрель 01, 2004, 05:59 Правильнее сказать, не в Visual C++, а в MFC ;)
OnPaint() - это обработчик события WM_PAINT OnDraw() - это виртуальная функция в классе CView, которая вызывается каркасом при обработке WM_PAINT и при выводе на печать. Название: Чем отличается onDraw от OnPaint Отправлено: Greyer от Апрель 01, 2004, 11:30 Цитата: "Злой" OnDraw() - это виртуальная функция в классе CView, которая вызывается каркасом при обработке WM_PAINT и при выводе на печать. Не только в классе CView, а так же COleConrol и ещё каких то. В MSDN написано, что вызов WM_PAINTа заканчивается вызовом OnDraw - для прорисовки контрола (COleControl), но если контрол не активен, то OnPaint не вызывается и идёт прямой вызов OnDraw (если только я правильно перевёл :) ). В OnDraw прорисовываются контролы, т.е. например при создании ActiveX или переделки каких то обычны контролов (кнопок и т.д.)именно эту ф-цию и приходится расписывать. Перерисовка окон (вызов WM_PAINT'а) происходит при: создании, изменении размеров, перемещении, минимизации или ввостановлении, отображении данных из открываемого файла, и перемещении, изменении, или выборе части отображаемых данных. |