CBitmapButton

Використання CBitmapButton клас для створення pushbutton елементи керування, які помічені растрових зображення замість тексту. CBitmapButton об'єкти містять до чотирьох крапкові малюнки, які містять зображення різних станів кнопки можна вважати: вгору (або звичайний), вниз (або виділеної), орієнтований і вимкнуто. Тільки перший бітових є обов'язковим; Інші необов'язкові.

Точковий рисунок кнопки зображення включають межу навколо зображення, а також самого зображення. Межі зазвичай грає свою роль у стан кнопки. Наприклад, малюнок для цілеспрямованої держави, як правило, як один до держави, але з пунктирна прямокутник відбиття від кордону або товсті суцільну лінію на кордоні. Малюнка для інвалідів держава зазвичай нагадує один для до держави, але має нижній контраст (як виділення затінена сірим кольором меню).

Ці крапкові малюнки можуть бути будь-якого розміру, але все розглядається як якби вони були ж розміру, як крапковий малюнок для копіювання стану.

Різні програми вимагають різних комбінацій бітових зображень:

Вгору Вниз Орієнтовані Інвалідів Застосування
? Крапковий малюнок
? ? Кнопка, без стилів WS_TABSTOP
? ? ? ? Кнопку діалогове вікно з усіх держав
? ? ? Кнопку діалогове вікно з WS_TABSTOP стиль

Під час створення точковий рисунок кнопки, встановити стиль BS_OW&NERDRAW , щоб указати, що кнопка власник drawn.nbsp; Це викликає Windows для надсилання повідомлень WM_MEASUREITEM і WM_DRAWITEM для кнопки; рамках ручками ці повідомлення і управляє вигляд кнопки для вас.

Щоб створити точковий рисунок кнопки в області вікна клієнта, виконайте такі дії.:

  1. Створення однієї до чотирьох растрових зображень для кнопки.

  2. Побудувати об'єкт CBitmapButton.

  3. Створити функцію, щоб створити кнопки керування Windows і додайте його до CBitmapButton об'єкта.

  4. Функцію член LoadBitmaps , щоб завантажити ресурси, точковий рисунок, після того, як побудований точковий рисунок кнопки.

Включити точковий рисунок кнопки у діалоговому вікні, виконайте такі дії.:

  1. Створення однієї до чотирьох растрових зображень для кнопки.

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

  3. Встановити підпис кнопки значення, такі як "MYIMAGE" і визначте символ кнопки, наприклад, IDC_MYIMAGE.

  4. В вашу заявку ресурс сценарії, дати кожного зображення створений для кнопки побудований, додавши одну з літер "U", "D," Ідентифікатор "F", або "X" (для вгору, вниз, орієнтовані, вимкнуто) в рядок для назва кнопки крок 3. Кнопка назву "MYIMAGE", наприклад, ідентифікатори буде "MYIMAGEU," "MYIMAGED", "MYIMAGEF" і "MYIMAGEX". Ви повинні вказати код вашої крапкові малюнки в подвійні лапки. Інакше ресурс редактор буде призначити ціле ресурс і MFC не вдасться при завантаженні зображення.

  5. У класі діалогове вікно вашу заявку (походить від CDialog) додати до об'єкта член CBitmapButton.

  6. В об'єкті CDialog OnInitDialog режим дзвінків CBitmapButton об'єкт Автозавантаження графіки , використовуючи як параметри кнопки керування ID і цей вказівник об'єкта CDialog.

Якщо потрібно обробити повідомлення про Windows, таких як BN_CLICKED, надісланих точковий рисунок кнопки до своїх батьків (зазвичай клас походить від CDialog), додати до CDialog-об'єкт мапі повідомлення запис і повідомлення обробника член функції для кожного з повідомлень, отриманих. Оповіщення, що надсилаються за CBitmapButton об'єкт такі ж, як ті, що відправлені по CButton об'єкта.

Клас CToolBar приймає різні підхід до точковий рисунок кнопки.

Більш докладну інформацію про CBitmapButtonбачити Керування теми в Visual C++ програміста керівництво.

# включити lt;afxext.h>

|&Nbsp членів класу ; Базовий клас | Ієрархічна діаграма

Зразок  MFC зразок CTRLTEST

Index