Функция WM_NCLBUTTONDOWN

 ↑  ←  Описание функции


WM_NCLBUTTONDOWN

Сообщение выполняется при нажатии левой кнопки мыши в неклиентской области окна.

Параметры

Указанные параметры передаются системой.
$wParam Код события
$lParam Двойное слово содержит:
    младшее слово = X-координата мыши относительно экрана
    старшее слово = Y-координата мыши относительно экрана

Примечания

Смотрите функцию GUIRegisterMsg.
Аналогичный принцип для событий WM_NCLBUTTONDBLCLK, WM_NCLBUTTONDOWN, WM_NCMBUTTONDBLCLK, WM_NCMBUTTONDOWN, WM_NCMBUTTONUP, WM_NCRBUTTONDBLCLK, WM_NCRBUTTONDOWN, WM_NCRBUTTONUP, что соответствует левой, правой, средней кнопок мыши и событий нажатия, отпуска, двойного клика.

См. также

WM_LBUTTONDOWN

Пример

#include <WindowsConstants.au3>

Global $k = 0

Global $assot[9][2] = [ _
[0x02, 'Заголовок'], _
[0x10, 'Левый нижний угол'], _
[0x11, 'Правый нижний угол'], _
[0x0A, 'Левый грань'], _
[0x0B, 'Правая грань'], _
[0x0C, 'Верхняя грань'], _
[0x0D, 'Левый верхний угол'], _
[0x0E, 'Правый верхний угол'], _
[0x0F, 'Нижняя грань']]

$Gui = GUICreate("WM_NCLBUTTONDOWN", 500, 150, -1, -1, $WS_OVERLAPPEDWINDOW)
GUICtrlCreateLabel('Функция WM_NCLBUTTONDOWN выполняется при нажатии левой кнопки мыши в неклиентской области окна.', 5, 5, 480, 34)
GUISetState()

GUIRegisterMsg(0x00A1, "WM_NCLBUTTONDOWN")

Do
Until GUIGetMsg() = -3

Func WM_NCLBUTTONDOWN($hWnd, $MsgId, $wParam, $lParam)
    Local $i, $key, $X, $Y
    $k += 1
    ; Координаты мыши
    $X = BitAND($lParam, 0xFFFF) ; _WinAPI_LoWord
    $Y = BitShift($lParam, 16) ; _WinAPI_HiWord

    $info_ID = BitAND($wParam, 0xFFFF)
    ; $info_ID=$wParam
    $k += 1
    For $i = 0 To 8
        If $wParam = $assot[$i][0] Then
            $info_ID = $assot[$i][1]
            ExitLoop
        EndIf
    Next
    $Hex_ID = Hex(Int($wParam), 4)
    If Not $info_ID Then $info_ID = $Hex_ID

    WinSetTitle($Gui, '', 'Вызов ' & $k & ' раз, x=' & $X & ', y=' & $Y & ', ' & $info_ID)
EndFunc