CBitmapButton

Используйте класс CBitmapButton для создания кнопочные элементы управления с растровых изображения вместо текста. CBitmapButton объекты могут содержать до четырех точечные рисунки, которые содержат изображения для различных состояний кнопки можно предположить: вверх или нормальной, вниз (или отдельных), основное внимание и инвалидов. Только первый точечный рисунок не требуется; другие являются необязательными.

Изображения Bitmap кнопки включают границы вокруг изображения, а также самого изображения. Границы обычно играет свою роль в показывает состояние кнопки. Например точечный рисунок для целенаправленного государства обычно является как для государства, вверх, но с пунктирным прямоугольником вставкой от границы или толстый сплошной линии на границе. Точечный рисунок, для инвалидов государства обычно напоминает тот за вверх государства, но имеет более низкие контраст (например, выбор меню серым или неактивна).

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

Различные приложения требуют различные комбинации растровых изображений:

Вверх Вниз Основное внимание Инвалиды Приложение
? Точечный рисунок
? ? Кнопка без WS_TABSTOP стиль
? ? ? ? Кнопку диалоговое окно со всеми государствами
? ? ? Кнопки диалогового окна с WS_TABSTOP стилем

При создании элемента управления кнопка с рисунком, установите стиль BS_OW&NERDRAW , чтобы указать, что кнопка владелец drawn.nbsp; Это заставляет Windows для отправки сообщения WM_MEASUREITEM и WM_DRAWITEM для кнопки; рамки обрабатывает эти сообщения и управляет внешний вид кнопки для вас.

Чтобы создать элемент управления кнопка с рисунком в клиентской области окна, выполните следующие действия:

  1. Создать от одного до четырех растровых изображений для кнопки.

  2. CBitmapButton объект.

  3. Вызовите функцию Create для создания элемента управления button Windows и прикрепить его к объекту CBitmapButton.

  4. Вызовите функцию-член LoadBitmaps для загрузки растрового ресурсов после того, как построен кнопка с рисунком.

Чтобы включить элемент управления button точечного рисунка в диалоговом окне, выполните следующие действия:

  1. Создать от одного до четырех растровых изображений для кнопки.

  2. Создайте шаблон диалоговое окно с кнопкой рисования владельцем, дислоцированные месте кнопка с рисунком. Размер кнопки в шаблоне не имеет значения.

  3. Установите название кнопки значение как «MYIMAGE» и определить символ для кнопки, такие как IDC_MYIMAGE.

  4. В сценарии ресурсов вашего приложения, каждое из изображений созданных для кнопки ID, построенный путем добавления одной из буквы "U", "D" дают "F" или «X» (для вверх, вниз, основное внимание и инвалидов) для кнопки заголовка в строке шаг 3. Для подписи кнопки «MYIMAGE», например, идентификаторы будет "MYIMAGEU," "MYIMAGED," "MYIMAGEF," и «MYIMAGEX.» Вы должны указать Идентификатор вашего точечных рисунков в двойные кавычки. В противном случае редактор ресурсов будет назначить ресурсу целое и MFC, произойдет сбой при загрузке изображения.

  5. В классе диалогового окна приложения (производный от CDialog) добавьте объект члена CBitmapButton.

  6. В обычной OnInitDialog объекта CDialog вызовите функцию AutoLoad CBitmapButton объекта, используя в качестве параметров Идентификатор элемента управления кнопки и этот указатель объекта CDialog.

Если вы хотите обрабатывать сообщения уведомления Windows, такие как BN_CLICKED, разосланный элемент управления кнопка с рисунком его родительского элемента (обычно класса, производного от CDialog), добавить в CDialog-полученные карты сообщение вход и обработчиков сообщений функции-члена объекта для каждого сообщения. Уведомлений, отправленных объектом CBitmapButton такие же, как CButton объектом.

Класс CToolBar принимает другой подход к кнопкам точечный рисунок.

Более подробную информацию о CBitmapButton, см. Управления темы в Руководстве Visual C++ программист.

# include lt;afxext.h>

Члены класса |nbsp; Базовый класс | Иерархическая схема

Пример  Образец CTRLTEST MFC

Index