Стандартные органы управления
Окончание табл. 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_DISABLEDBN_HILITEBN_UNHILITE BN_PAINT BN_DOUBLECLICKED BN_PUSHED BN_UNPUSHED |
Устаревшие коды извещения |
BN_DBLCLKBN_SETFOCUSBN_KILLFOCUS |
Указывают, что пользователь дважды щелкнул мышью на кнопке, кнопка получила фокус ввода и кнопка потеряла фокус ввода, соответственно. Поступают, если для кнопки определен стиль BS_NOTIFY |
Таблица 4
Сообщения для кнопок
Сообщение |
Описание |
BM_CLICK |
Имитация щелчка мышью |
BM_GETCHECK |
Получить состояние переключателя |
BM_SETCHECK |
Установить состояние переключателя |
BM_GETSTATE |
Получить состояние кнопки |
BM_SETSTATE |
Установить состояние кнопки (нажата / не нажата) |
BM_SETSTYLE |
Установить стиль кнопки |
BM_SETIMAGE |
Установить графический образ для кнопки (bitmap или icon) |
BM_GETIMAGE |
Получить графический образ для кнопки |
32
предыдущаяследующая