Электронный учебник:


Курс лекций:


Дополнительно:

Практикум:



Наши хостеры:

Стандартные органы управления

Окончание табл. 2

Стиль

Описание

BS_PUSHLIKE        

Делает переключатели и радиокнопки похожими на  стандартную кнопку: они выглядят утопленными, когда выбраны  (применяется совместно с другими стилями).

BS_NOTIFY 

Определяет, что кнопка будет посылать родительскому окну коды извещения BN_DBLCLK, BN_KILLFOCUS, BN_SETFOCUS.

            Помимо сообщения WM_COMMAND, кнопки некоторых стилей могут посылать функции родительского окна другие сообщения. При создании кнопки со стилем BS_OWNERDRAW родительское окно получает сообщение WM_MEASUREITEM, а при необходимости перерисовки кнопки - сообщение WM_DRAWITEMОбработчики этих сообщений должны получить контекст физического устройства отображения (см. раздел “Интерфейс графических устройств GDI” далее в этой главе) и самостоятельно нарисовать кнопку. Более подробную информацию можно получить в справочной документации или WIN32 Programmer’s Reference. Отметим, что в WIN32 практически отпала необходимость в использовании стиля BS_OWNERDRAW, так как новые стили BS_ICON и BS_BITMAP позволяют отобразить на кнопке произвольное изображение. Для этого после создания кнопки ей следует послать сообщение BM_SETIMAGE (см. табл. 4).

            Далее, в табл. 3 приведены коды извещения от кнопок, а в табл. 4 – сообщения, посылаемые кнопкам.

Таблица 3

Коды  извещения от кнопок

Код извещения

Описание

BN_CLICKED

Пользователь щелкнул мышью на кнопке

BN_DISABLED

BN_HILITE

BN_UNHILITE

BN_PAINT

BN_DOUBLECLICKED

BN_PUSHED

BN_UNPUSHED

Устаревшие коды извещения

BN_DBLCLK

BN_SETFOCUS

BN_KILLFOCUS

Указывают, что пользователь дважды щелкнул мышью на кнопке, кнопка получила фокус ввода и кнопка потеряла фокус ввода, соответственно. Поступают, если для кнопки определен стиль BS_NOTIFY

Таблица 4

Сообщения для кнопок

Сообщение

Описание

BM_CLICK

Имитация щелчка мышью

BM_GETCHECK

Получить состояние переключателя

BM_SETCHECK

Установить состояние переключателя

BM_GETSTATE

Получить состояние  кнопки

BM_SETSTATE

Установить состояние кнопки (нажата / не нажата)

BM_SETSTYLE

Установить стиль кнопки

BM_SETIMAGE

Установить графический образ для кнопки (bitmap или icon)

BM_GETIMAGE

Получить графический образ для кнопки

32

предыдущаяследующая