Поделиться через


Типы кнопок

Существует несколько типов кнопок и один или несколько стилей кнопок, чтобы различать кнопки одного типа.

В этом документе рассматриваются следующие разделы.

Типы и стили кнопок

Кнопка принадлежит типу и может иметь дополнительные стили, влияющие на его внешний вид и поведение. Таблица стилей кнопок см. в разделе Стили кнопок.

На следующем снимке экрана показаны различные типы кнопок.

снимок экрана диалогового окна с примерами восьми типов кнопок

Снимок экрана показывает, как могут отображаться кнопки в Windows Vista. Внешний вид зависит от различных версий операционной системы и в соответствии с темой, заданной пользователем.

Обратите внимание на следующие моменты на иллюстрации:

  • Флажок с тремя состояниями отображается в неопределенном состоянии. Если установлен или снят флажок, он выглядит как обычный флажок.
  • Большая кнопка принудительного нажатия была задана программным способом (отправляя сообщение BM_SETSTATE), чтобы он сохранял его внешний вид, даже если он не щелкается.
  • В визуальном стиле показан фон кнопки нажатия по умолчанию (или другой кнопки с фокусом ввода) между синим и серым.

Флажки

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

Флажок может быть одним из четырех стилей: стандартный, автоматический, трехэтапный и автоматический трехэтапный, как определено константами BS_CHECKBOX, BS_AUTOCHECKBOX, BS_3STATEи BS_AUTO3STATEсоответственно. Каждый стиль может предполагать два состояния флажка: установлен (флажок внутри поля) или снят (флажок не установлен). Кроме того, флажок с тремя состояниями может предполагать неопределенное состояние (затененное поле внутри флажка), которое может означают, что пользователь не сделал выбор. Повторно щелкнув стандартный или автоматический флажок, переключает его с флажка, чтобы удалить и вернуться снова. Повторно щелкнув флажок с тремя состояниями, переключает его из флажка, чтобы очиститься до неопределенного, а затем повторяет цикл.

Когда пользователь нажимает флажок (любого стиля), флажок получает фокус клавиатуры. Система отправляет родительское окно флажка WM_COMMAND сообщение, содержащее код уведомления BN_CLICKED. Родительское окно не требует обработки этого сообщения, если оно поступает из автоматического флажка или автоматического трехэтапного флажка, так как система автоматически задает состояние проверки для этих стилей. Но родительское окно должно обрабатывать сообщение, если оно поступает из неавтоматический флажок или флажок с тремя состояниями, так как родительское окно отвечает за задание состояния проверки для этих стилей. Независимо от стиля флажка система автоматически переопределяет флажок после изменения его состояния.

Приложение может определить состояние флажка с помощью функции IsDlgButtonChecked.

Групповые поля

Поле группы представляет собой прямоугольник, который окружает набор элементов управления, например флажки или переключатели, с меткой, определенной приложением, в левом верхнем углу. Единственной целью группы является организация элементов управления, связанных с общей целью (обычно указывается меткой). Поле группы имеет только один стиль, определенный константой BS_GROUPBOX. Так как не удается выбрать поле группы, оно не имеет состояния проверки, состояния фокуса или состояния отправки.

Кнопки

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

Кнопка нажатия может быть одним из двух стилей, стандартных или стандартных, как определено константами BS_PUSHBUTTON и BS_DEFPUSHBUTTON. Стандартная кнопка нажатия обычно используется для запуска операции. Он получает фокус клавиатуры, когда пользователь щелкает его. Кнопка нажатия по умолчанию обычно используется для указания наиболее распространенных или стандартных вариантов, таких как закрытие диалогового окна. Это кнопка, которую пользователь может выбрать, просто нажав клавишу ВВОД, если в диалоговом окне нет другой кнопки нажатия.

Когда пользователь нажимает кнопку нажатия, он получает фокус клавиатуры. Система отправляет родительское окно кнопки WM_COMMAND сообщение, содержащее код уведомления BN_CLICKED.

Кнопка разделения — это специальный вид кнопки push-уведомлений в Windows Vista и версии 6.00. Кнопка разделения делится на две части. Основная часть работает как обычная кнопка или кнопка нажатия по умолчанию. Вторая часть имеет стрелку, указывающую вниз. Обычно меню отображается при щелчке стрелки.

Кнопка разделения имеет стиль BS_SPLITBUTTON или стиль BS_DEFSPLITBUTTON, если это кнопка по умолчанию в диалоговом окне. Вы можете изменить внешний вид кнопки с помощью сообщения BCM_SETSPLITINFO или соответствующего макроса Button_SetSplitInfo.

Когда пользователь нажимает основную часть кнопки разделения, он отправляет уведомление BN_CLICKED так же, как обычная кнопка нажатия. Но когда пользователь щелкает стрелку вниз, он отправляет уведомление BCN_DROPDOWN. Приложение несет ответственность за отображение меню в ответ на BCN_DROPDOWN.

Windows Vista и версии 6.00 также появился еще один вид кнопки нажатия, командную ссылку. Визуально ссылка на команду отличается от обычной кнопки нажатия, но она имеет одинаковые функциональные возможности. Ссылка на команду обычно отображает значок со стрелкой, строку текста и дополнительный текст в меньшем шрифте.

Переключатели

переключатель (также называемая кнопкой параметра) состоит из круглой кнопки и определяемой приложением меткой, значком или растровым изображением, указывающим на выбор, который пользователь может сделать, нажав кнопку. Приложение обычно использует переключатели в поле группы, чтобы разрешить пользователю выбрать один из связанных, но взаимоисключающих параметров.

Переключатель может быть одним из двух стилей: стандартный или автоматический, как определено константами стиля BS_RADIOBUTTON и BS_AUTORADIOBUTTON. Каждый стиль может предполагать два состояния проверки: проверено (точка в кнопке) или снято (без точки в кнопке).

Когда пользователь выбирает любое состояние, переключатель получает фокус клавиатуры. Система отправляет родительское окно кнопки WM_COMMAND сообщение, содержащее код уведомления BN_CLICKED. Родительское окно не нужно обрабатывать это сообщение, если оно поступает из автоматической переключателя, так как система автоматически задает состояние проверки для этого стиля. Но родительское окно должно обрабатывать сообщение, если оно поступает из неавтоматический переключатель, так как родительское окно отвечает за задание состояния проверки для этого стиля. Независимо от стиля переключателя система автоматически переопределяет кнопку в качестве изменения состояния.

Переключатели расположены в группах, и в любое время можно проверить только одну кнопку в группе. Если флаг WS_GROUP установлен для любой переключателя, эта кнопка является первой кнопкой в группе, и все кнопки, которые следуют ему сразу же в порядке табуляции (но не имеют флага WS_GROUP) являются частью своей группы. Если переключатели не имеют флага WS_GROUP, все переключатели в диалоговом окне рассматриваются как одна группа.

Приложение может определить, проверяется ли переключатель с помощью функции IsDlgButtonChecked.

Справочник

Стили кнопки

концептуальные

с помощью кнопок