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.
- Software for developers
-
Delphi Components
.Net Components
Software for Android Developers
- More information resources
-
MegaDetailed.Net
Unix Manual Pages
Delphi Examples
- Databases for Amazon shops developers
-
Amazon Categories Database
Browse Nodes Database