На главную

On-line справка по Win32 API

Написать письмо
БЕСПЛАТНАЯ ежедневная online лотерея! Выигрывай каждый день БЕСПЛАТНО!
Список всех статей A-B-C-D-E-F-G-H-I-J-K-L-M-N-O-P-Q-R-S-T-U-V-W-X-Y-Z | Скачать Вниз

WM_PAINT



An application sends the WM_PAINT message when Windows or another application makes a request to paint a portion of an application's window. The message is sent when the UpdateWindow or RedrawWindow function is called, or by the DispatchMessage function when the application obtains a WM_PAINT message by using the GetMessage or PeekMessage function.

WM_PAINT
hdc = (HDC) wParam; // the device context to draw in


Parameters

hdc

Identifies the device context to draw in. If this parameter is NULL, use the default device context. This parameter is used by some common controls to enable drawing in a device context other than the default device context. Other windows can safely ignore this parameter.



Return Values

An application should return zero if it processes this message.

Remarks

The DefWindowProc function validates the update region. The function may also send the WM_NCPAINT message to the window procedure if the window frame must be painted and send the WM_ERASEBKGND message if the window background must be erased.
The system sends this message when there are no other messages in the application's message queue. DispatchMessage determines where to send the message; GetMessage determines which message to dispatch. GetMessage returns the WM_PAINT message when there are no other messages in the application's message queue, and DispatchMessage sends the message to the appropriate window procedure.

A window may receive internal paint messages as a result of calling RedrawWindow with the RDW_INTERNALPAINT flag set. In this case, the window may not have an update region. An application should call the GetUpdateRect function to determine whether the window has an update region. If GetUpdateRect returns zero, the application should not call the BeginPaint and EndPaint functions.
An application must check for any necessary internal painting by looking at its internal data structures for each WM_PAINT message, because a WM_PAINT message may have been caused by both a non-NULL update region and a call to RedrawWindow with the RDW_INTERNALPAINT flag set.

Windows sends an internal WM_PAINT message only once. After an internal WM_PAINT message is returned from GetMessage or PeekMessage or is sent to a window by UpdateWindow, Windows does not post or send further WM_PAINT messages until the window is invalidated or until RedrawWindow is called again with the RDW_INTERNALPAINT flag set.
For some common controls, the default WM_PAINT message processing checks the wParam parameter. If wParam is non-NULL, the control assumes that the value is an HDC and paints using that device context.

See Also

BeginPaint, DefWindowProc, DispatchMessage, EndPaint, GetMessage, GetUpdateRect, PeekMessage, RedrawWindow, UpdateWindow, WM_ERASEBKGND, WM_NCPAINT


Пригласи друзей и счет твоего мобильника всегда будет положительным!
Предыдущая статья
 
Сайт Народ.Ру Интернет
Следующая статья
Пригласи друзей и счет твоего мобильника всегда будет положительным!

WM_PAINT



Приложение посылает сообщение WM_PAINT когда Окно или другое приложение делает просьбой, чтобы закрашивать часть прикладного окна. Сообщение послано когда UpdateWindow или функция RedrawWindow вызвана, или функцией DispatchMessage когда приложение получает сообщение WM_PAINT используя GetMessage или функция PeekMessage.

WM_PAINT
hdc = (HDC) wParam; // контекст устройства, чтобы втягивать


Параметры

hdc

Идентифицирует контекст устройства, чтобы втягивать. Если этот параметр НЕДЕЙСТВИТЕЛЕН, используйте встроенный контекст устройства. Этот параметр использован немного общими элементами управления, чтобы приспосабливаться втягивая контекст устройства кроме встроенного контекста устройства. Другое окно может благополучно проигнорировать этот параметр.



Обратные Величины

Приложение должно возвращать нуль если оно обрабатывает это сообщение.

Замечания

Функция DefWindowProc подтверждает регион коррекции. Функция может также послать сообщение WM_NCPAINT в процедуру окна если фрейм окна должен быть закрашен и послан сообщение WM_ERASEBKGND если фон окна должен быть выстиран.
Система посылает это сообщение когда нет других сообщений в прикладной очереди сообщения. DispatchMessage ОПРЕДЕЛЯЕТСЯ где, чтобы посылать сообщение; GetMessage ОПРЕДЕЛЯЕТ какое сообщение, чтобы посылать. GetMessage ВОЗВРАЩАЕТ сообщение WM_PAINT когда нет других сообщений в прикладной очереди сообщения, и DispatchMessage посылает сообщение в подходящую процедуру окна.

Окно может получить внутренние сообщения краски в результате разговора RedrawWindow с флагом RDW_INTERNALPAINT установленным. В этом случае, окно не может иметь регион коррекции. Приложение должно вызывать функцию GetUpdateRect, чтобы определять имеет окно регион коррекции. Если нуль возврата GetUpdateRect, приложение не должно вызывать BeginPaint и функции EndPaint.
Приложение должно проверить на наличие любой необходимой внутренней живописи смотря на свои внутренние структуры данных для каждого сообщения WM_PAINT, поскольку сообщение WM_PAINT возможно вызвано как не-НЕДЕЙСТВИТЕЛЬНОЙ областью коррекции так и вызов на RedrawWindow с флагом RDW_INTERNALPAINT установленным.

Windows посылает внутреннее сообщение WM_PAINT только как только. После того, как внутреннее сообщение WM_PAINT будет возвращано из GetMessage или PeekMessage или будет послано в окно UpdateWindow, Windows не посылает или посылает продвигать сообщения WM_PAINT пока окно не будет аннулировано или пока RedrawWindow не будет вызваться снова с флагом RDW_INTERNALPAINT установленным.
Для немного общих элементов управления, по умолчанию сообщение WM_PAINT, обрабатывающее проверяет параметр wParam. Если wParam не-НЕДЕЙСТВИТЕЛЕН, управление допускает что величина является HDC и красками, использовавшими этот контекст устройства.

Смотри Также

BeginPaint, DefWindowProc, DispatchMessage, EndPaint, GetMessage, GetUpdateRect, PeekMessage, RedrawWindow, UpdateWindow, WM_ERASEBKGND, WM_NCPAINT


Вверх Version 1.3, Oct 26 2010 © 2007, 2010, mrhx Вверх
 mrhx software  Русский перевод OpenGL  Русский перевод Win32 API
 
Используются технологии uCoz