Типы кнопок

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

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

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

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

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

screen shot of a dialog box that shows examples of eight types of buttons

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

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

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

Флажки

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

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

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

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

Поля группы

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

Кнопки

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

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

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

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

Кнопка разделения имеет стиль BS_SPLIТБ UTTON или стиль BS_DEFSPLIТБ UTTON, если это кнопка по умолчанию в диалоговом окне. Вы можете изменить внешний вид кнопки с помощью сообщения 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.

Справочные материалы

Стили кнопок

Концептуальной

Использование кнопок