На главную

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 | Скачать Вниз

Nonclient Area



Windows sends a WM_NCPAINT message to the window whenever a part of the nonclient area of the window, such as the title bar, menu bar, or window frame, must be updated. Windows may also send other messages to direct a window to update a portion of its client area; for example, when a window becomes active or inactive, it sends the WM_NCACTIVATE message to update its title bar. In general, processing these messages for standard windows is not recommended, because the application must be able to draw all the required parts of the nonclient area for the window. For this reason, most applications pass these messages to DefWindowProc for default processing.

An application that creates custom nonclient areas for its windows must process these messages. When doing so, the application must use a window DC to carry out drawing in the window. The window DC enables the application to draw in all portions of the window, including the nonclient area. An application retrieves a window DC by using the GetWindowDC or GetDCEx function and, when drawing is complete, must release the window DC by using the ReleaseDC function.

Windows maintains an update region for the nonclient area. When an application receives a WM_NCPAINT message, the wParam parameter contains the handle of a region defining the dimensions of the update region. The application can use the handle to combine the update region with the clipping region for the window DC. Windows does not automatically combine the update region when retrieving the window DC unless the application uses GetDCEx and specifies both the region handle and the DCX_INTERSECTRGN flag. If the application does not combine the update region, only drawing operations that would otherwise extend outside the window are clipped. The application is not responsible for clearing the update region, regardless of whether it uses the region.

If an application processes the WM_NCACTIVATE message, after processing it must return TRUE to direct Windows to complete the change of active window. If the window is minimized when the application receives the WM_NCACTIVATE message, it should pass the message to DefWindowProc. In such cases, the default function redraws the label for the icon.


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

Область Nonclient



Windows посылает сообщение WM_NCPAINT в окно всякий раз, когда часть области nonclient окна, как например, зона названия, зона меню, или фрейм окна, должно быть скорректировано. Windows может также послать сообщения, чтобы направлять окно, чтобы корректировать часть своей области клиента; например, когда окно становится активным или неактивным, оно посылает сообщение WM_NCACTIVATE, чтобы корректировать свою зону названия. В общих чертах, обработка этих сообщений для стандартного окна не рекомендована, поскольку приложение должно быть способным сделать всеми необходимыми частями области nonclient для окна. По этой причине, большинство приложений передают эти сообщения на DefWindowProc для по умолчанию обработки.

Приложение, которое создает обычай nonclient области для своего окна должно обработать эти сообщения. При занятии так, приложение должно использовать окно DC, чтобы выполнять втягивая окно. Окно DC позволяет приложение, чтобы втягивать все части окна, включая область nonclient. Приложение извлекает окно DC используя GetWindowDC или функция GetDCEx и, когда чертеж завершен, должна выпустить окно DC используя функцию ReleaseDC.

Windows поддерживает область коррекции для области nonclient. Когда приложение получает сообщение WM_NCPAINT, параметр wParam содержит ручку области, определяющей измерения области коррекции. Приложение может использовать ручку, чтобы объединять область коррекции с вырезать областью для окна DC. Windows автоматически не объединяет область коррекции при поиске окна DC если приложение не использует GetDCEx и определяет как ручку области так и флаг DCX_INTERSECTRGN. Если приложение не объединяет область коррекции, только рисующую операции, которые было бы в противном случае расширяться за пределами окна вырезаны. Приложение не ответственное за клиринг области коррекции, независимо от того, что оно использует область.

Если приложение обрабатывает сообщение WM_NCACTIVATE, после того, как обработка, которую он должен возвращать ИСТИНУ, чтобы направлять Windows, чтобы завершать изменение активного окна. Если окно минимизировано когда приложение получает сообщение WM_NCACTIVATE, оно должно передавать сообщение на DefWindowProc. В таких случаях, по умолчанию функция перерисовывает этикетку для иконки.


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