Страница 218 из 238
OnPaint
afx_msg void OnPaint();
Описание
Приложение вызывает данную функцию, когда Windows или функции самого приложения посылают запрос на перерисовку части окна приложения. Сообщение
WM_PAINT посылается функциями
UpdateWindow и
RedrawWindow. Объект класса окна может получать, также, внутренние сообщения о необходимости перерисовки в результате вызова функции
RedrawWindow с установленным флагом
RDW_INTERNALPAINT. В этом случае окну может не передаваться обновляемый участок окна. Для его определения приложение должно вызвать функцию
GetUpdateRect. Если данная функция возвращает нулевое значение, то приложение не должно вызывать функции
BeginPaint и
EndPaint. Приложение должно само следить за необходимостью обновления рабочей области своего окна, используя внутренние структуры данных для хранения информации, необходимой для перерисовки окна после получения сообщения
WM_PAINT, поскольку данное сообщение может быть вызвано как необходимостью перерисовки области окна после того, как она стала видимой, так и вызовом функции
RedrawWindow с установленным флагом
RDW_INTERNALPAINT. Внутреннее сообщение
WM_PAINT посылается Windows только один раз. После того, как внутреннее сообщение
WM_PAINT будет послано окну функцией
UpdateWindow, не могут быть посланы никакие другие сообщения
WM_PAINT, пока окно не будет перерисовано или пока не будет вызвана функция
RedrawWindow с установленным флагом
RDW_INTERNALPAINT. Отображение документов рассмотрено при описании функции
CView::OnDraw.