Класс кнопок

Пять специальных сообщений для кнопок определены в заголовочных файлах Windows; каждое из которых начинается с префикса "BM", что означает "button message" (сообщение кнопки). Вот эти сообщения:

BM_GETCHECK

BM_SETCHECK

BM_GETSTATE

BM_SETSTATE

BM_SETSTYLE

Сообщения BM_GETCHECK и BM_SETCHECK посылаются родительским окном дочернему окну управления для установки и снятия контрольных меток флажков (check boxes) и переключателей (radio buttons). Сообщения BM_GETSTATE и BM_SETSTATE касаются обычного или "нажатого" состояния окна при щелчке мышью или нажатии клавиши <Spacebar>. Сообщение BM_SETSTYLE позволяет вам изменять стиль кнопки после ее создания.

Класс статических дочерних окон

Вы можете создать статическое дочернее окно управления, используя класс окна "static" при вызове функции CreateWindow. Это совершенно обычные дочерние окна. Они не получают информации от клавиатуры или мыши, и они не посылают сообщений WM_COMMAND обратно родительскому окну. (Когда вы перемещаете мышь или щелкаете мышью над статическим дочерним окном, дочернее окно обрабатывает сообщение WM_NCHITTEST и возвращает в Windows значение HTTRANSPARENT. Это заставляет Windows послать то же сообщение WM_NCHITTEST расположенному внизу окну, которым обычно является родительское окно. Родительское окно, как правило, передает сообщение в DefWindowProc, где оно преобразуется в сообщение мыши рабочей области.)

Класс полос прокрутки

Вы создаете полосы прокрутки, являющиеся дочерними окнами управления, используя предопределенный класс окна "scrollbar", и один из двух стилей для полос прокрутки: SBS_VERTS и BS_HORZ. В отличие от кнопок — элементов управления, полосы прокрутки — элементы управления не посылают родительскому окну сообщений WM_COMMAND. Вместо этого они, также как и полосы прокрутки окна, посылают ему сообщения WM_VSCROLL и WM_HSCROLL. При обработке сообщений полос прокрутки с помощью параметра lParam вы можете различать сообщения полос прокрутки окна и полос прокрутки — элементов управления. Для полос прокрутки окна lParam равен 0, а для полос прокрутки — элементов управления он является описателем этих полос прокрутки или описателем дочернего окна управления — полосы прокрутки. Что же касается параметра wParam, то значения его старшего и младшего слова для полос прокрутки окна и для полос прокрутки — элементов управления имеют одинаковый смысл.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: