Вы работаете с сообщениями, которые Windows отправляет окну, чтобы сообщить вашему коду, что произошло что-то интересное.Эта константа будет использоваться в методе WndProc () формы, который запускается, когда Windows отправляет сообщение.
Сообщение WM_NCLBUTTONDOWN является одним из этих сообщений.WM = оконное сообщение.NC = Non Client, часть окна, которая не является клиентской областью, границами и строкой заголовка.L = Левая кнопка, вы можете выяснить BUTTONDOWN.
Эти сообщения объявлены в файле Windows SDK.Он будет у вас на компьютере, версия этого файла для VS2008 находится в C: \ Program Files \ Microsoft SDKs \ Windows \ v6.0A \ Include \ WinUser.h.Откройте его с помощью текстового редактора или VS, чтобы увидеть, что внутри.Найдите идентификатор сообщения, чтобы найти эту строку:
#define WM_NCLBUTTONDOWN 0x00A1
Windows SDK был написан для работы с программами на Си.#define эквивалентен Const в VB.NET.Префикс 0x
означает «шестнадцатеричный» на языке C, как & H в VB.NET.Калькулятор Windows полезен для преобразования шестнадцатеричных значений в десятичные и обратно, используйте View + Programmer.Вы увидите причину, по которой & H используется в программе VB.NET, эти константы начинаются с шестнадцатеричного значения в объявлении ядра.Но Private Const WM_NCLBUTTONDOWN = 161
будет работать так же хорошо (10 x 16 + 1).
Так что в WndProc () вы бы использовали оператор Select Case или If для обнаружения сообщения.И вы можете сделать что-то особенное, когда пользователь нажимает левую кнопку мыши в строке заголовка окна.Если вы проигнорируете это, тогда MyBase.WndProc(m)
запустится, и произойдет обычная вещь: Windows запускает модальный цикл, который позволяет пользователю перемещать окно.На самом деле очень редко когда вы хотите остановить или изменить это поведение, пользователи довольно любят это поведение по умолчанию, поскольку все окна в Windows ведут себя таким образом.Единственное сообщение, поведение которого вы обычно хотите настроить, - это WM_NCHITTEST.Очень полезно, чтобы придать окну бескрайнее поведение.Но это другая история.