Кнопка (элементы управления Windows)

В этом разделе содержатся сведения о элементах программирования, используемых с элементами управления кнопками. Кнопка — это элемент управления, который пользователь может нажать, чтобы предоставить входные данные приложению.

Общие сведения

Раздел Содержимое
Сообщения кнопки В этом разделе рассматриваются сообщения, используемые с кнопками.
Состояния кнопки В этом разделе описывается изменение состояния кнопки и реагирование приложения.
Типы кнопок В этом разделе рассматриваются различные виды кнопок.
Использование кнопок В этом разделе объясняется, как выполнять определенные задачи, связанные с кнопками.

Функции

Раздел Содержимое
CheckDlgButton Изменяет состояние проверка элемента управления кнопкой.
CheckRadioButton Добавляет проверка метку в (проверка) указанную переключатель в группе и удаляет проверка метку из (очищает) все остальные переключатели в группе.
IsDlgButtonChecked Функция IsDlgButtonChecked определяет, проверка ли элемент управления кнопкой или элемент управления кнопкой с тремя состояниями проверка, un проверка ed или неопределен.

Макросы

Раздел Содержимое
Button_Enable Включает или отключает кнопку.
Button_GetCheck Возвращает проверка состояние переключателя или поля проверка. Этот макрос можно использовать или явно отправить сообщение BM_GETCHECK.
Button_GetIdealSize Получает размер кнопки, которая лучше всего соответствует тексту и изображению, если присутствует список изображений. Этот макрос можно использовать или явно отправить сообщение BCM_GETIDEALSIZE.
Button_GetImageList Возвращает структуру BUTTON_IMAGELIST , описывающую список изображений, заданный для элемента управления кнопкой. Этот макрос можно использовать или явно отправить сообщение BCM_GETIMAGELIST.
Button_GetNote Возвращает текст заметки, связанной с кнопкой командной ссылки. Этот макрос можно использовать или явно отправить сообщение BCM_GETNOTE.
Button_GetNoteLength Возвращает длину текста заметки, который может отображаться в описании для ссылки команды. Используйте этот макрос или явно отправьте сообщение BCM_GETNOTELENGTH.
Button_GetSplitInfo Возвращает сведения для указанного элемента управления кнопкой разделения. Используйте этот макрос или явно отправьте сообщение BCM_GETSPLITINFO.
Button_GetState Возвращает проверка состояние переключателя или поля проверка. Этот макрос можно использовать или явно отправить сообщение BM_GETSTATE.
Button_GetText Возвращает текст кнопки.
Button_GetTextLength Возвращает количество символов в тексте кнопки.
Button_GetTextMargin Получает поля, используемые для рисования текста в элементе управления кнопкой. Этот макрос можно использовать или явно отправить сообщение BCM_GETTEXTMARGIN.
Button_SetCheck Задает проверка состояние переключателя или проверка поля. Этот макрос можно использовать или явно отправить сообщение BM_SETCHECK.
Button_SetDropDownState Задает раскрывающееся состояние для указанной кнопки со стилем BS_SPLIТБ UTTON. Используйте этот макрос или явно отправьте сообщение BCM_SETDROPDOWNSTATE.
Button_SetElevationRequiredState Задает требуемое состояние для указанной кнопки или ссылки команды, чтобы отобразить значок с повышенными привилегиями. Используйте этот макрос или явно отправьте сообщение BCM_SETSHIELD.
Button_SetImageList Назначает список изображений элементу управления кнопкой. Этот макрос можно использовать или явно отправить сообщение BCM_SETIMAGELIST.
Button_SetNote Задает текст заметки, связанной с указанной кнопкой ссылки на команду. Этот макрос можно использовать или явно отправить сообщение BCM_SETNOTE.
Button_SetSplitInfo Задает сведения для указанного элемента управления с разделением кнопки. Используйте этот макрос или явно отправьте сообщение BCM_SETSPLITINFO.
Button_SetState Задает состояние выделения кнопки. Состояние выделения указывает, выделена ли кнопка, как если бы пользователь нажал его. Этот макрос можно использовать или явно отправить сообщение BM_SETSTATE.
Button_SetStyle Задает стиль кнопки. Этот макрос можно использовать или явно отправить сообщение BM_SETSTYLE.
Button_SetText Задает текст кнопки.
Button_SetTextMargin Задает поля для рисования текста в элементе управления кнопкой. Этот макрос можно использовать или явно отправить сообщение BCM_SETTEXTMARGIN.

Сообщения

Раздел Содержимое
BCM_GETIDEALSIZE Получает размер кнопки, которая лучше всего соответствует тексту и изображению, если присутствует список изображений. Это сообщение можно отправить явно или использовать макрос Button_GetIdealSize.
BCM_GETIMAGELIST Возвращает структуру BUTTON_IMAGELIST , описывающую список изображений, назначенный элементу управления кнопкой. Это сообщение можно отправить явно или использовать макрос Button_GetImageList.
BCM_GETNOTE Возвращает текст заметки, связанной с кнопкой командной ссылки. Это сообщение можно отправить явно или использовать макрос Button_GetNote.
BCM_GETNOTELENGTH Возвращает длину текста заметки, который может отображаться в описании кнопки ссылки на команду. Отправьте это сообщение явным образом или с помощью макроса Button_GetNoteLength.
BCM_GETSPLITINFO Возвращает сведения для элемента управления с разделением кнопки. Отправьте это сообщение явным образом или с помощью макроса Button_GetSplitInfo .
BCM_GETTEXTMARGIN Получает поля, используемые для рисования текста в элементе управления кнопкой. Это сообщение можно отправить явно или использовать макрос Button_GetTextMargin.
BCM_SETDROPDOWNSTATE Задает раскрывающееся состояние кнопки со стилем ТБSTYLE_DROPDOWN. Отправьте это сообщение явным образом или с помощью макроса Button_SetDropDownState.
BCM_SETIMAGELIST Назначает список изображений элементу управления кнопкой. Это сообщение можно отправить явно или использовать макрос Button_SetImageList.
BCM_SETNOTE Задает текст заметки, связанной с кнопкой ссылки на команду. Это сообщение можно отправить явно или использовать макрос Button_SetNote.
BCM_SETSHIELD Задает требуемое состояние для указанной кнопки или ссылки команды, чтобы отобразить значок с повышенными привилегиями. Отправьте это сообщение явным образом или с помощью макроса Button_SetElevationRequiredState.
BCM_SETSPLITINFO Задает сведения для элемента управления с разделением кнопки. Отправьте это сообщение явным образом или с помощью макроса Button_SetSplitInfo .
BCM_SETTEXTMARGIN Сообщение BCM_SETTEXTMARGIN задает поля для рисования текста в элементе управления кнопкой.
BM_CLICK Имитирует пользователя, щелкнув кнопку. Это сообщение приводит к тому, что кнопка получает WM_LBUTTONDOWN и WM_LBUTTONUP сообщения, а родительское окно кнопки получает код уведомления BN_CLICKED.
BM_GETCHECK Возвращает проверка состояние переключателя или поля проверка. Это сообщение можно отправить явно или использовать макрос Button_GetCheck.
BM_GETIMAGE Извлекает дескриптор изображения (значка или растрового изображения), связанного с кнопкой.
BM_GETSTATE Извлекает состояние кнопки или поля проверка. Это сообщение можно отправить явно или использовать макрос Button_GetState.
BM_SETCHECK Задает проверка состояние переключателя или проверка поля. Это сообщение можно отправлять явным образом или с помощью макроса Button_SetCheck.
BM_SETDONTCLICK Задает флаг на переключателе, который управляет созданием сообщений BN_CLICKED при получении фокуса кнопки.
BM_SETIMAGE Связывает новое изображение (значок или растровое изображение) с кнопкой.
BM_SETSTATE Задает состояние выделения кнопки. Состояние выделения указывает, выделена ли кнопка, как если бы пользователь нажал его. Это сообщение можно отправить явно или использовать макрос Button_SetState.
BM_SETSTYLE Задает стиль кнопки. Это сообщение можно отправить явно или использовать макрос Button_SetStyle.

Notifications

Раздел Содержимое
BCN_DROPDOWN Отправляется, когда пользователь щелкает стрелку раскрывающегося списка на кнопке. Родительское окно элемента управления получает этот код уведомления в виде сообщения WM_NOTIFY.
BCN_HOTITEMCHANGE Уведомляет владельца элемента управления кнопки о том, что мышь вводит или покидает клиентская область элемента управления кнопки. Элемент управления кнопкой отправляет этот код уведомления в виде сообщения WM_NOTIFY.
BN_CLICKED Отправляется, когда пользователь нажимает кнопку.
Родительское окно кнопки получает код уведомления BN_CLICKED через сообщение WM_COMMAND .
BN_DBLCLK Отправляется, когда пользователь дважды щелкает кнопку. Этот код уведомления отправляется автоматически для кнопок BS_USERBUTTON, BS_RADIOBUTTON и BS_OWNERDRAW. Другие типы кнопок отправляют BN_DBLCLK только в том случае, если они имеют стиль BS_NOTIFY.
Родительское окно кнопки получает код уведомления BN_DBLCLK через сообщение WM_COMMAND.
BN_DISABLE Отправляется при отключении кнопки. Примечание. Этот код уведомления предоставляется только для совместимости с 16-разрядными версиями Windows до версии 3.0. Приложения должны использовать стиль кнопки BS_OWNERDRAW и структуру DRAWITEMSTRUCT для этой задачи.
Родительское окно кнопки получает код уведомления BN_DISABLE через сообщение WM_COMMAND.
BN_DOUBLECLICKED Отправляется, когда пользователь дважды щелкает кнопку. Этот код уведомления отправляется автоматически для кнопок BS_USERBUTTON, BS_RADIOBUTTON и BS_OWNERDRAW. Другие типы кнопок отправляют BN_DOUBLECLICKED только в том случае, если они имеют стиль BS_NOTIFY.
Родительское окно кнопки получает код уведомления BN_DOUBLECLICKED через сообщение WM_COMMAND .
BN_HILITE Отправляется, когда пользователь выбирает кнопку. Примечание. Этот код уведомления предоставляется только для совместимости с 16-разрядными версиями Windows до версии 3.0. Приложения должны использовать стиль кнопки BS_OWNERDRAW и структуру DRAWITEMSTRUCT для этой задачи.
Родительское окно кнопки получает код уведомления BN_HILITE через сообщение WM_COMMAND.
BN_KILLFOCUS Отправляется, когда кнопка теряет фокус клавиатуры. Кнопка должна иметь стиль BS_NOTIFY для отправки этого кода уведомления.
Родительское окно кнопки получает код уведомления BN_KILLFOCUS через сообщение WM_COMMAND .
BN_PAINT Отправляется, когда кнопка должна быть окрашена. Примечание. Этот код уведомления предоставляется только для совместимости с 16-разрядными версиями Windows до версии 3.0. Приложения должны использовать стиль кнопки BS_OWNERDRAW и структуру DRAWITEMSTRUCT для этой задачи.
Родительское окно кнопки получает код уведомления BN_PAINT через сообщение WM_COMMAND .
BN_PUSHED Отправляется при нажатии состояния кнопки. Примечание. Этот код уведомления предоставляется только для совместимости с 16-разрядными версиями Windows до версии 3.0. Приложения должны использовать стиль кнопки BS_OWNERDRAW и структуру DRAWITEMSTRUCT для этой задачи.
Родительское окно кнопки получает код уведомления BN_PUSHED через сообщение WM_COMMAND.
BN_SETFOCUS Отправляется, когда кнопка получает фокус клавиатуры. Кнопка должна иметь стиль BS_NOTIFY для отправки этого кода уведомления.
Родительское окно кнопки получает код уведомления BN_SETFOCUS через сообщение WM_COMMAND.
BN_UNHILITE Отправляется, когда выделение должно быть удалено из кнопки. Примечание. Этот код уведомления предоставляется только для совместимости с 16-разрядными версиями Windows до версии 3.0. Приложения должны использовать стиль кнопки BS_OWNERDRAW и структуру DRAWITEMSTRUCT для этой задачи.
Родительское окно кнопки получает код уведомления BN_UNHILITE через сообщение WM_COMMAND .
BN_UNPUSHED Отправляется, когда для кнопки задано состояние принудительной отправки. Примечание. Этот код уведомления предоставляется только для совместимости с 16-разрядными версиями Windows до версии 3.0. Приложения должны использовать стиль кнопки BS_OWNERDRAW и структуру DRAWITEMSTRUCT для этой задачи.
Родительское окно кнопки получает код уведомления BN_UNPUSHED через сообщение WM_COMMAND.
NM_CUSTOMDRAW (кнопка) Уведомляет родительское окно элемента управления кнопкой о пользовательских операциях рисования на кнопке.
Элемент управления кнопкой отправляет этот код уведомления в виде сообщения WM_NOTIFY.
WM_CTLCOLORBTN Сообщение WM_CTLCOLORBTN отправляется в родительское окно кнопки перед рисованием кнопки. Родительское окно может изменить текст и цвет фона кнопки. Однако только кнопки, нарисованные владельцем, реагируют на родительское окно, обрабатывая это сообщение.

Структуры

Раздел Содержимое
BUTTON_IMAGELIST Содержит сведения о списке изображений, который используется с элементом управления кнопкой.
BUTTON_SPLITINFO Содержит сведения, определяющие разделяющую кнопку (стили BS_SPLIТБ UTTON и BS_DEFSPLIТБ UTTON). Используется с сообщениями BCM_GETSPLITINFO и BCM_SETSPLITINFO.
N МБ CDROPDOWN Содержит сведения о уведомлении BCN_DROPDOWN .
N МБ CHOTITEM Содержит сведения о перемещении мыши над элементом управления кнопкой.

Константы

Раздел Содержимое
Стили кнопок Задает сочетание стилей кнопок. Если вы создаете кнопку с помощью класса BUTTON с функцией CreateWindow или CreateWindowEx, можно указать любой из стилей кнопок, перечисленных ниже.