Элементы управления панели инструментов и стили кнопки

Следующие стили окна относятся к панелям инструментов. Они объединяются с другими стилями окна при создании панели инструментов.

Примечание Для Common Controls версии 6.00, если с панелью инструментов используется визуальный стиль , кнопки всегда будут прозрачными независимо от параметра стиля. В противном случае прозрачность является нормальной, о чем свидетельствует использование стиля TBSTYLE_FLAT или TBSTYLE_TRANSPARENT.

Примечание

Comctl32.dll версии 6 не распространяется, но входит в состав Windows. Чтобы использовать Comctl32.dll версии 6, укажите его в манифесте. Дополнительные сведения о манифестах см. в разделе Включение визуальных стилей.

Константа Описание
TBSTYLE_ALTDRAG
Позволяет пользователям изменять положение кнопки панели инструментов, перетаскивая ее, удерживая клавишу ALT. Если этот стиль не указан, пользователь должен удерживать клавишу SHIFT при перетаскивании кнопки. Обратите внимание, что для перетаскивания кнопок панели инструментов необходимо указать стиль CCS_ADJUSTABLE .
TBSTYLE_CUSTOMERASE
Версия 4.70. Создает коды уведомлений NM_CUSTOMDRAW , когда панель инструментов обрабатывает WM_ERASEBKGND сообщения.
TBSTYLE_FLAT
Версия 4.70. Создает плоскую панель инструментов. На плоской панели инструментов панель инструментов и кнопки прозрачны, и включена функция горячего отслеживания. Текст кнопки отображается под растровыми рисунками кнопки. Чтобы избежать проблем с перекраиванием, этот стиль следует задать до того, как элемент управления панели инструментов станет видимым.
TBSTYLE_LIST
Версия 4.70. Создает плоскую панель инструментов с текстом кнопки справа от растрового изображения. В противном случае этот стиль идентичен TBSTYLE_FLAT. Чтобы избежать проблем с перекраиванием, этот стиль следует задать до того, как элемент управления панели инструментов станет видимым.
TBSTYLE_REGISTERDROP
Версия 4.71. Создает коды уведомлений TBN_GETOBJECT для запроса удаления целевых объектов, когда курсор проходит над кнопками панели инструментов.
TBSTYLE_TOOLTIPS
Создает элемент управления подсказкой, который приложение может использовать для отображения описательного текста для кнопок на панели инструментов.
TBSTYLE_TRANSPARENT
Версия 4.71. Создает прозрачную панель инструментов. На прозрачной панели инструментов панель инструментов прозрачна, но кнопки — нет. Текст кнопки отображается под растровыми рисунками кнопки. Чтобы избежать проблем с перекраиванием, этот стиль следует задать до того, как элемент управления панели инструментов станет видимым.
TBSTYLE_WRAPABLE
Создает панель инструментов с несколькими строками кнопок. Кнопки панели инструментов могут "переноситься" на следующую строку, когда панель инструментов становится слишком узкой, чтобы включить все кнопки в одной строке. Если панель инструментов заключена в оболочку, разрыв будет происходить либо на крайнем правом разделитете, либо на самой правой кнопке, если на панели нет разделителей. Этот стиль должен быть задан для отображения вертикального элемента управления панели инструментов, если панель инструментов является частью элемента управления вертикальной панели. Этот стиль нельзя сочетать с CCS_VERT.

Примечание: Кнопка панели инструментов может иметь сочетание следующих стилей. Чтобы указать стиль кнопки, задайте соответствующие флаги в элементе fsStyle структуры TBBUTTON кнопки. Не все стили можно сочетать.

Для оболочки версии 4.72 и более ранних флаги стиля окна и кнопки имели форму TBSTYLE_XXX. При компиляции приложения с Commctrl.h версии 4.72 или более ранней необходимо использовать флаги стиля кнопки TBSTYLE_XXX. Для версии 5.80 и более поздних версий все стили кнопок имеют форму BTNS_XXX. Все TBSTYLE_XXX значения имеют эквивалентные значения BTNS_XXX с одинаковым значением и числовым значением. Для удобства обе формы приведены в следующей таблице.

Константа Описание
BTNS_AUTOSIZE
Версия 5.80. Указывает, что элементу управления панели инструментов не следует присваивать кнопке стандартную ширину. Вместо этого ширина кнопки будет вычисляться на основе ширины текста и изображения кнопки. Используйте эквивалентный флаг стиля TBSTYLE_AUTOSIZE для версии 4.72 и более ранних версий.
BTNS_BUTTON
Версия 5.80. Создает стандартную кнопку. Используйте эквивалентный флаг стиля TBSTYLE_BUTTON для версии 4.72 и более ранних версий. Этот флаг определен как 0 и должен использоваться для обозначения того, что другие флаги не заданы.
BTNS_CHECK
Версия 5.80. Создает кнопку двойного состояния, которая переключается между нажатым и невыжатым состояниями каждый раз, когда пользователь щелкает ее. Кнопка имеет другой цвет фона, когда она находится в состоянии нажатия. Используйте эквивалентный флаг стиля TBSTYLE_CHECK для версии 4.72 и более ранних версий.
BTNS_CHECKGROUP
Версия 5.80. Создает кнопку, которая остается нажатой до тех пор, пока не будет нажата другая кнопка в группе, похожая на переключатели (также известные как переключатели). Это эквивалентно объединению BTNS_CHECK и BTNS_GROUP. Используйте эквивалентный флаг стиля TBSTYLE_CHECKGROUP для версии 4.72 и более ранних версий.
BTNS_DROPDOWN
Версия 5.80. Создает кнопку в раскрывающемся списке, которая может отображаться при нажатии кнопки. Вместо WM_COMMAND сообщения, используемого для обычных кнопок, раскрывающийся список отправляет код уведомления TBN_DROPDOWN . После этого в приложении обработчик уведомлений может отображаться список параметров. Используйте эквивалентный флаг стиля TBSTYLE_DROPDOWN для версии 4.72 и более ранних версий.
Если панель инструментов имеет расширенный стиль TBSTYLE_EX_DRAWDDARROWS , в отдельном разделе справа от кнопок раскрывающегося списка будет отображаться стрелка раскрывающегося списка. Если щелкнуть стрелку, будет отправлен код уведомления TBN_DROPDOWN. Если нажата связанная кнопка, будет отправлено WM_COMMAND сообщение.
BTNS_GROUP
Версия 5.80. В сочетании с BTNS_CHECK создает кнопку, которая остается нажатой до тех пор, пока не будет нажата другая кнопка в группе. Используйте эквивалентный флаг стиля TBSTYLE_GROUP для версии 4.72 и более ранних версий.
BTNS_NOPREFIX
Версия 5.80. Указывает, что с текстом кнопки не будет связан префикс ускорителя. Используйте эквивалентный флаг стиля TBSTYLE_NOPREFIX для версии 4.72 и более ранних версий.
BTNS_SEP
Версия 5.80. Создает разделитель, обеспечивая небольшой разрыв между группами кнопок. Кнопка с таким стилем не получает введенные пользователем данные. Используйте эквивалентный флаг стиля TBSTYLE_SEP для версии 4.72 и более ранних версий.
BTNS_SHOWTEXT
Версия 5.81. Указывает, что должен отображаться текст кнопки. Все кнопки могут содержать текст, но будут отображаться только кнопки с BTNS_SHOWTEXT стилем. Этот стиль кнопки должен использоваться со стилем TBSTYLE_LIST и TBSTYLE_EX_MIXEDBUTTONS расширенным стилем. Если задать текст для кнопок, у которых нет стиля BTNS_SHOWTEXT, элемент управления панели инструментов автоматически отобразит его в виде подсказки при наведении курсора на кнопку. Эта функция позволяет приложению не обрабатывать TBN_GETINFOTIP или TTN_GETDISPINFO код уведомления для панели инструментов.
BTNS_WHOLEDROPDOWN
Версия 5.80. Указывает, что кнопка будет иметь стрелку раскрывающегося списка, но не как отдельный раздел. Кнопки с этим стилем работают одинаково, независимо от того, задан ли TBSTYLE_EX_DRAWDDARROWS расширенный стиль.
TBSTYLE_AUTOSIZE
Эквивалентно BTNS_AUTOSIZE. Используйте TBSTYLE_AUTOSIZE для версии 4.72 и более ранних версий.
TBSTYLE_BUTTON
Эквивалентно BTNS_BUTTON. Используйте TBSTYLE_BUTTON для версии 4.72 и более ранних версий.
TBSTYLE_CHECK
Эквивалентно BTNS_CHECK. Используйте TBSTYLE_CHECK для версии 4.72 и более ранних версий.
TBSTYLE_CHECKGROUP
Эквивалентно BTNS_CHECKGROUP. Используйте TBSTYLE_CHECKGROUP для версии 4.72 и более ранних версий.
TBSTYLE_DROPDOWN
Эквивалентно BTNS_DROPDOWN. Используйте TBSTYLE_DROPDOWN для версии 4.72 и более ранних версий.
TBSTYLE_GROUP
Эквивалентно BTNS_GROUP. Используйте TBSTYLE_GROUP для версии 4.72 и более ранних версий.
TBSTYLE_NOPREFIX
Эквивалентно BTNS_NOPREFIX. Используйте TBSTYLE_NOPREFIX для версии 4.72 и более ранних версий.
TBSTYLE_SEP
Эквивалентно BTNS_SEP. Используйте TBSTYLE_SEP для версии 4.72 и более ранних версий.

Требования

Требование Значение
Заголовок
CommCtrl.h