На главную

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

The WM_NCHITTEST Message



Whenever a mouse event occurs, the system sends a WM_NCHITTEST message to either the window that contains the cursor hot spot or the window that has captured the mouse. Windows uses this message to determine whether to send a client area or nonclient area mouse message. An application that must receive mouse movement and mouse button messages must pass the WM_NCHITTEST message to the DefWindowProc function.

The lParam parameter of the WM_NCHITTEST message contains the screen coordinates of the cursor hot spot. The DefWindowProc function examines the coordinates and returns a hit-test value that identifies the location of the hot spot. The hit-test value can be one of the following values.

Value Location of hot spot
HTBORDER In the border of a window that does not have a sizing border
HTBOTTOM In the lower horizontal border of a window
HTBOTTOMLEFT In the lower left corner of a window border
HTBOTTOMRIGHT In the lower right corner of a window border
HTCAPTION In a title bar
HTCLIENT In a client area
HTCLOSE In close button.
HTERROR On the screen background or on a dividing line between windows (same as HTNOWHERE, except that the DefWindowProc function produces a system beep to indicate an error)
HTGROWBOX In a size box (same as HTSIZE)
HTHELP In Help button.
HTHSCROLL In a horizontal scroll bar
HTLEFT In the left border of a window
HTMENU In a menu
HTMAXBUTTON In Maximize button.
HTMINBUTTON In Minimize button.
HTNOWHERE On the screen background or on a dividing line between windows
HTREDUCE In a Minimize button
HTRIGHT In the right border of a window
HTSIZE In a size box (same as HTGROWBOX)
HTSYSMENU In a System menu or in a Close button in a child window
HTTOP In the upper horizontal border of a window
HTTOPLEFT In the upper left corner of a window border
HTTOPRIGHT In the upper right corner of a window border
HTTRANSPARENT In a window currently covered by another window
HTVSCROLL In the vertical scroll bar
HTZOOM In a Maximize button


If the cursor is in the client area of a window, DefWindowProc returns the HTCLIENT hit-test value to the window procedure. When the window procedure returns this code to the system, Windows converts the screen coordinates of the cursor hot spot to client coordinates, and then posts the appropriate client area mouse message.
The DefWindowProc function returns one of the other hit-test values when the cursor hot spot is in a window's nonclient area. When the window procedure returns one of these hit-test values, Windows posts a nonclient area mouse message, placing the hit-test value in the message's wParam parameter and the cursor coordinates in the lParam parameter.


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

Сообщение WM_NCHITTEST



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

Параметр lParam сообщения WM_NCHITTEST содержит экранные координаты горячей точки курсора. Функция DefWindowProc изучает координаты и возвращает удар-тест величины, который идентифицирует позицию горячей точки. Удар-тест величины может быть одним из следующего величин.

Позиция Величины горячей точки
HTBORDER НА границе окна, что нет имеет калибровку границы HTBOTTOM На более низкой горизонтальной границе окна HTBOTTOMLEFT В более низком левом углу границы окна HTBOTTOMRIGHT В правом нижнем углу границы окна HTCAPTION В баре названия HTCLIENT В области клиента HTCLOSE На закрытую кнопку.
HTERROR НА экранном фоне или на делящей линии между окном (также, как HTNOWHERE, кроме того функциональная выдача DefWindowProc системный гудок, чтобы указывать ошибку) HTGROWBOX В размере ящика (также, как HTSIZE) HTHELP На кнопке Помощи.
HTHSCROLL В горизонтальном перемещать зону HTLEFT На левую границу окна HTMENU В меню HTMAXBUTTON На кнопке Расширения.
HTMINBUTTON В Минимизировать кнопку.
HTNOWHERE НА экранном фоне или в делящей строке между окном HTREDUCE На кнопке Minimize HTRIGHT На границе права окна HTSIZE В размере блока (также, как HTGROWBOX) HTSYSMENU В меню Системы или на Закрытой кнопке в окне ребенка HTTOP На верхней горизонтальной границе окна HTTOPLEFT В верхнем левом углу границы окна HTTOPRIGHT В верхнем углу права границы окна HTTRANSPARENT В окне к настоящему времени покрытом другим окном HTVSCROLL В вертикальном перемещать зону HTZOOM На кнопку Расширения


Если курсор - в области клиента окна, DefWindowProc возвращает HTCLIENT нажавшее-величину теста в процедуру окна. Когда процедура окна возвращает этот код в систему, Windows преобразовывает экранные координаты горячей точки курсора в координаты клиента, затем посылает мышь области подходящего сообщения клиента.
Функция DefWindowProc возвращает одну из другого нажавшее-величины теста когда горячая точка курсора - в окно nonclient область. Когда процедура окна возвращает одну из их нажавшее-величины теста, Windows посылает сообщение мыши области nonclient, устанавливающее удар-тест величины в параметре сообщения wParam и координаты курсора в параметре lParam.


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