Класс CMFCButton

Класс CMFCButton добавляет функции в CButton класс, например выравнивание текста кнопки, объединение текста кнопки и изображения, выбор курсора и указание подсказки.

Синтаксис

class CMFCButton : public CButton

Участники

Открытые конструкторы

Имя Описание
CMFCButton::CMFCButton Конструктор по умолчанию.
CMFCButton::~CMFCButton Деструктор.

Открытые методы

Имя Описание
CMFCButton::CleanUp Сбрасывает внутренние переменные и освобождает выделенные ресурсы, такие как изображения, растровые изображения и значки.
CMFCButton::CreateObject Используется платформой для создания динамического экземпляра этого типа класса.
CMFCButton::DrawItem Вызывается платформой при изменении визуального аспекта нарисованной кнопки владельца. (Переопределяет CButton::DrawItem.)
CMFCButton::EnableFullTextTooltip Указывает, следует ли отображать полный текст подсказки в большом окне подсказки или усеченной версии текста в небольшом окне подсказки.
CMFCButton::EnableMenuFont Указывает, совпадает ли шрифт текста кнопки с шрифтом меню приложения.
CMFCButton::EnableWindowsTheming Указывает, соответствует ли стиль границы кнопки текущей теме Windows.
CMFCButton::GetThisClass Используется платформой для получения указателя на CRuntimeClass объект, связанный с этим типом класса.
CMFCButton::GetToolTipCtrl Возвращает ссылку на базовый элемент управления подсказки.
CMFCButton::IsAutoCheck Указывает, является ли поле проверка или переключатель автоматическим кнопкой.
CMFCButton::IsAutorepeatCommandMode Указывает, задана ли кнопка в режим автоматического повтора.
CMFCButton::IsCheckBox Указывает, является ли кнопка проверка кнопкой.
CMFCButton::IsChecked Указывает, проверка ли текущая кнопка.
CMFCButton::IsHighlighted Указывает, выделена ли кнопка.
CMFCButton::IsPressed Указывает, нажимается ли кнопка и выделена.
CMFCButton::IsPushed Указывает, нажимается ли кнопка.
CMFCButton::IsRadioButton Указывает, является ли кнопка переключателем.
CMFCButton::IsWindowsThemingEnabled Указывает, соответствует ли стиль границы кнопки текущей теме Windows.
CMFCButton::OnDrawParentBackground Рисует фон родительского элемента кнопки в указанной области. (Переопределения AFX_GLOBAL_DATA::DrawParentBackground
CMFCButton::PreTranslateMessage Преобразует сообщения окна перед отправкой TranslateMessage в функции Windows и DispatchMessage функции Windows. (Переопределяет CWnd::PreTranslateMessage.)
CMFCButton::SetAutorepeatMode Задает кнопку для режима автоматического повтора.
CMFCButton::SetCheckedImage Задает изображение для проверка проверка кнопки.
CMFCButton::SetFaceColor Задает цвет фона для текста кнопки.
CMFCButton::SetImage Задает изображение для кнопки.
CMFCButton::SetMouseCursor Задает изображение курсора.
CMFCButton::SetMouseCursorHand Задает курсор на изображение руки.
CMFCButton::SetStdImage CMenuImages Использует объект для задания изображения кнопки.
CMFCButton::SetTextColor Задает цвет текста кнопки для кнопки, которая не выбрана.
CMFCButton::SetTextHotColor Задает цвет текста кнопки для выбранной кнопки.
CMFCButton::SetTooltip Связывает подсказку с кнопкой.
CMFCButton::SizeToContent Изменяет размер кнопки, чтобы она содержала текст кнопки и изображение.

Защищенные методы

Имя Описание
CMFCButton::OnDraw Вызывается платформой для рисования кнопки.
CMFCButton::OnDrawBorder Вызывается платформой для рисования границы кнопки.
CMFCButton::OnDrawFocusRect Вызывается платформой для рисования прямоугольника фокуса для кнопки.
CMFCButton::OnDrawText Вызывается платформой для рисования текста кнопки.
CMFCButton::OnFillBackground Вызывается платформой для рисования фона текста кнопки.
CMFCButton::SelectFont Извлекает шрифт, связанный с указанным контекстом устройства.

Элементы данных

Имя Описание
CMFCButton::m_nAlignStyle Указывает выравнивание текста кнопки.
CMFCButton::m_bDontUseWinXPTheme Указывает, следует ли использовать темы Windows XP.
CMFCButton::m_bDrawFocus Указывает, следует ли нарисовать прямоугольник фокуса вокруг кнопки.
CMFCButton::m_nFlatStyle Задает стиль кнопки, например без границ, плоскую, полуплоскую или трехмерную.
CMFCButton::m_bGrayDisabled Если значение TRUE, позволяет отрисовывать отключенную кнопку как серый.
CMFCButton::m_bHighlightChecked Указывает, следует ли выделить кнопку в стиле BS_CHECКБ OX при наведении курсора на него.
CMFCButton::m_bResponseOnButtonDown Указывает, следует ли реагировать на события вниз кнопки.
CMFCButton::m_bRightImage Указывает, следует ли отображать изображение в правой части кнопки.
CMFCButton::m_bTopImage Указывает, находится ли изображение в верхней части кнопки.
CMFCButton::m_bTransparent Указывает, является ли кнопка прозрачной.
CMFCButton::m_bWasDblClk Указывает, было ли событие последнего щелчка двойным щелчком.

Замечания

Другие типы кнопок являются производными от CMFCButton класса, например CMFCURLLinkButton класса, который поддерживает гиперссылки и CMFCColorButton класс, который поддерживает диалоговое окно выбора цвета.

Стиль CMFCButton объекта может быть 3D, flatsemi-flat или no border. Текст кнопки можно выровнять в левом, верхнем или центре кнопки. Во время выполнения можно контролировать, отображается ли кнопка текст, изображение или текст и изображение. Кроме того, можно указать, что при наведении курсора на кнопку отображается определенное изображение курсора.

Создайте элемент управления кнопкой непосредственно в коде или с помощью средства мастера классов MFC и шаблона диалогового окна. Если вы создаете элемент управления кнопкой напрямую, добавьте CMFCButton переменную в приложение, а затем вызовите конструктор и Create методы CMFCButton объекта. Если вы используете мастер классов MFC, добавьте CButton переменную в приложение, а затем измените тип переменной на CButtonCMFCButton.

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

Пример

В следующем примере показано, как настроить свойства кнопки с помощью различных методов в CMFCButton классе. Пример является частью примера "Новые элементы управления".

CMFCButton m_Button;
// int m_iImage
// IDB_BTN1_32, IDB_BTN1_HOT_32, IDB_BTN1, IDB_BTN1_HOT are int macros that are #define.
if (m_iImage == 1)
{
   m_Button.SetImage((HBITMAP)NULL);
}
else
{
   m_Button.SetImage(IDB_BTN1_32, IDB_BTN1_HOT_32);
}
// int m_iImage
if (m_iImage == 0)
{
   m_Button.SetWindowText(_T(""));
}
else
{
   m_Button.SetWindowText(_T("Button"));
}
// Resize the button.
m_Button.SizeToContent();
m_Button.EnableFullTextTooltip(true);
// Use the application menu font at the button text font.
m_Button.EnableMenuFont();
// Use the current Windows theme to draw the button borders.
m_Button.EnableWindowsTheming(true);
// Set the button to auto-repeat mode.
m_Button.SetAutorepeatMode();
// Set the background color for the button text.
m_Button.SetFaceColor(RGB(255,0,0),true);
m_Button.SetTextColor(RGB(0,0,255));
// Set the tooltip of the button.
m_Button.SetTooltip(_T("this is a button!"));

Иерархия наследования

CObject

CCmdTarget

CWnd

CButton

CMFCButton

Требования

Заголовок.afxbutton.h

CMFCButton::CleanUp

Сбрасывает внутренние переменные и освобождает выделенные ресурсы, такие как изображения, растровые изображения и значки.

virtual void CleanUp();

CMFCButton::EnableFullTextTooltip

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

void EnableFullTextTooltip(BOOL bOn=TRUE);

Параметры

bOn
[in] TRUE для отображения всего текста; FALSE для отображения усеченного текста.

Замечания

CMFCButton::EnableMenuFont

Указывает, совпадает ли шрифт текста кнопки с шрифтом меню приложения.

void EnableMenuFont(
    BOOL bOn=TRUE,
    BOOL bRedraw=TRUE);

Параметры

bOn
[in] TRUE для использования шрифта меню приложения в качестве шрифта текста кнопки; FALSE для использования системного шрифта. Значение по умолчанию — TRUE.

bRedraw
[in] TRUE для немедленного перерисовки экрана; FALSEв противном случае . Значение по умолчанию — TRUE.

Замечания

Если этот метод не используется для указания шрифта текста кнопки, можно указать шрифт с CWnd::SetFont помощью метода. Если шрифт не указан вообще, платформа задает шрифт по умолчанию.

CMFCButton::EnableWindowsTheming

Указывает, соответствует ли стиль границы кнопки текущей теме Windows.

static void EnableWindowsTheming(BOOL bEnable = TRUE);

Параметры

bEnable
[in] TRUE чтобы использовать текущую тему Windows для рисования границ кнопок; FALSE не следует использовать тему Windows. Значение по умолчанию — TRUE.

Замечания

Этот метод влияет на все кнопки в приложении, производные от CMFCButton класса.

CMFCButton::GetToolTipCtrl

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

CToolTipCtrl& GetToolTipCtrl();

Возвращаемое значение

Ссылка на базовый элемент управления подсказки.

Замечания

CMFCButton::IsAutoCheck

Указывает, является ли поле проверка или переключатель автоматическим кнопкой.

BOOL IsAutoCheck() const;

Возвращаемое значение

TRUE Значение , если кнопка имеет стиль BS_AUTOCHECKBOX или BS_AUTORADIOBUTTON; FALSEв противном случае .

Замечания

CMFCButton::IsAutorepeatCommandMode

Указывает, задана ли кнопка в режим автоматического повтора.

BOOL IsAutorepeatCommandMode() const;

Возвращаемое значение

TRUE Если для кнопки задан режим автоматического повтора; FALSEв противном случае .

Замечания

CMFCButton::SetAutorepeatMode Используйте метод, чтобы задать для кнопки режим автоматического повтора.

CMFCButton::IsCheckBox

Указывает, является ли кнопка проверка кнопкой.

BOOL IsCheckBox() const;

Возвращаемое значение

TRUEЗначение , FALSEесли кнопка имеет либо BS_CHECKBOXBS_AUTOCHECKBOX стиль; в противном случае .

Замечания

CMFCButton::IsChecked

Указывает, проверка ли текущая кнопка.

BOOL IsChecked() const;

Возвращаемое значение

TRUEЗначение , FALSEесли текущая кнопка проверка; в противном случае .

Замечания

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

CMFCButton::IsHighlighted

Указывает, выделена ли кнопка.

BOOL IsHighlighted() const;

Возвращаемое значение

TRUE Значение , если кнопка выделена; FALSEв противном случае .

Замечания

Кнопка становится выделенной при наведении указателя мыши на кнопку.

CMFCButton::IsPressed

Указывает, нажимается ли кнопка и выделена.

BOOL IsPressed() const;

Возвращаемое значение

TRUE Значение , если кнопка нажата; FALSEв противном случае .

Замечания

CMFCButton::IsPushed

Указывает, нажимается ли кнопка.

BOOL IsPushed() const;

Возвращаемое значение

TRUE Значение , если кнопка нажимается; FALSEв противном случае .

Замечания

CMFCButton::IsRadioButton

Указывает, является ли кнопка переключателем.

BOOL IsRadioButton() const;

Возвращаемое значение

TRUE Значение , если стиль кнопки имеет BS_RADIOBUTTON значение или BS_AUTORADIOBUTTON; FALSEв противном случае .

Замечания

CMFCButton::IsWindowsThemingEnabled

Указывает, соответствует ли стиль границы кнопки текущей теме Windows.

static BOOL IsWindowsThemingEnabled();

Возвращаемое значение

TRUE Значение , если стиль границы кнопки соответствует текущей теме Windows; FALSEв противном случае .

CMFCButton::m_bDontUseWinXPTheme

Указывает, следует ли использовать темы Windows XP при рисовании кнопки.

BOOL m_bDontUseWinXPTheme;

CMFCButton::m_bDrawFocus

Указывает, следует ли нарисовать прямоугольник фокуса вокруг кнопки.

BOOL m_bDrawFocus;

Замечания

m_bDrawFocus Задайте элементу, чтобы TRUE указать, что платформа нарисует прямоугольник фокуса вокруг текста кнопки и изображения, если кнопка получает фокус.

Конструктор CMFCButton инициализирует этот элемент TRUEв .

CMFCButton::m_bGrayDisabled

При TRUEвключении отключенной кнопки вырисовывается как серый.

BOOL m_bGrayDisabled;

CMFCButton::m_bHighlightChecked

Указывает, следует ли выделить кнопку стилей BS_CHECKBOXпри наведении курсора на него.

BOOL m_bHighlightChecked;

Замечания

m_bHighlightChecked Задайте элементу, чтобы TRUE указать, что платформа будет выделять BS_CHECKBOXкнопку стилей при наведении указателя мыши на него.

CMFCButton::m_bResponseOnButtonDown

Указывает, следует ли реагировать на события вниз кнопки.

BOOL m_bResponseOnButtonDown;

CMFCButton::m_bRightImage

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

BOOL m_bRightImage;

CMFCButton::m_bTopImage](#m_bTopImage)

Указывает, находится ли изображение в верхней части кнопки.

BOOL m_bTopImage;

Замечания

m_bRightImage Задайте элементу, чтобы TRUE указать, что платформа будет отображать изображение кнопки справа от текстовой метки кнопки.

CMFCButton::m_bTransparent

Указывает, является ли кнопка прозрачной.

BOOL m_bTransparent;

Замечания

m_bTransparent Задайте элементу, чтобы TRUE указать, что платформа сделает кнопку прозрачной. Конструктор CMFCButton инициализирует этот элемент FALSEв .

CMFCButton::m_nAlignStyle

Указывает выравнивание текста кнопки.

AlignStyle m_nAlignStyle;

Замечания

Используйте одно из следующих CMFCButton::AlignStyle значений перечисления, чтобы указать выравнивание текста кнопки:

значение Description
ALIGN_CENTER (по умолчанию) Выравнивает текст кнопки в центр кнопки.
ALIGN_LEFT Выравнивает текст кнопки слева от кнопки.
ALIGN_RIGHT Выравнивает текст кнопки справа от кнопки.

Конструктор CMFCButton инициализирует этот элемент ALIGN_CENTERв .

CMFCButton::m_bWasDblClk](#m_bWasDblClk)|

Указывает, было ли событие последнего щелчка двойным щелчком.|

BOOL m_bWasDblClk;

CMFCButton::m_nFlatStyle

Задает стиль кнопки, например без границ, плоскую, полуплоскую или трехмерную.

FlatStyle  m_nFlatStyle;

Замечания

В следующей таблице перечислены CMFCButton::m_nFlatStyle значения перечисления, указывающие внешний вид кнопки.

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

Конструктор CMFCButton инициализирует этот элемент BUTTONSTYLE_3Dв .

Пример

В следующем примере показано, как задать значения переменной-члена m_nFlatStyle в CMFCButton классе. Этот пример является частью примера "Новые элементы управления".

CMFCButton m_Button;
//int m_iBorderStyle
switch (m_iBorderStyle)
{
case 0:
   m_Button.m_nFlatStyle = CMFCButton::BUTTONSTYLE_FLAT;
   break;

case 1:
   m_Button.m_nFlatStyle = CMFCButton::BUTTONSTYLE_SEMIFLAT;
   break;

case 2:
   m_Button.m_nFlatStyle = CMFCButton::BUTTONSTYLE_3D;
}

CMFCButton::OnDraw

Вызывается платформой для рисования кнопки.

virtual void OnDraw(
    CDC* pDC,
    const CRect& rect,
    UINT uiState);

Параметры

pDC
[in] Указатель на контекст устройства.

rect
[in] Ссылка на прямоугольник, ограничивающий кнопку.

uiState
[in] Текущее состояние кнопки. Дополнительные сведения см. в itemState разделе DRAWITEMSTRUCT "Структура ".

Замечания

Переопределите этот метод, чтобы использовать собственный код для рисования кнопки.

CMFCButton::OnDrawBorder

Вызывается платформой для рисования границы кнопки.

virtual void OnDrawBorder(
    CDC* pDC,
    CRect& rectClient,
    UINT uiState);

Параметры

pDC
[in] Указатель на контекст устройства.

rectClient
[in] Ссылка на прямоугольник, ограничивающий кнопку.

uiState
[in] Текущее состояние кнопки. Дополнительные сведения см. в itemState разделе DRAWITEMSTRUCT "Структура ".

Замечания

Переопределите этот метод, чтобы использовать собственный код для рисования границы.

CMFCButton::OnDrawFocusRect

Вызывается платформой для рисования прямоугольника фокуса для кнопки.

virtual void OnDrawFocusRect(
    CDC* pDC,
    const CRect& rectClient);

Параметры

pDC
[in] Указатель на контекст устройства.

rectClient
[in] Ссылка на прямоугольник, ограничивающий кнопку.

Замечания

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

CMFCButton::OnDrawText

Вызывается платформой для рисования текста кнопки.

virtual void OnDrawText(
    CDC* pDC,
    const CRect& rect,
    const CString& strText,
    UINT uiDTFlags,
    UINT uiState);

Параметры

pDC
[in] Указатель на контекст устройства.

rect
[in] Ссылка на прямоугольник, ограничивающий кнопку.

strText
[in] Текст для рисования.

uiDTFlags
[in] Флаги, определяющие форматирование текста. Дополнительные сведения см. в nFormat параметре CDC::DrawText метода.

uiState
[in] Зарезервировано.

Замечания

Переопределите этот метод, чтобы использовать собственный код для рисования текста кнопки.

CMFCButton::OnFillBackground

Вызывается платформой для рисования фона текста кнопки.

virtual void OnFillBackground(
    CDC* pDC,
    const CRect& rectClient);

Параметры

pDC
[in] Указатель на контекст устройства.

rectClient
[in] Ссылка на прямоугольник, ограничивающий кнопку.

Замечания

Переопределите этот метод, чтобы использовать собственный код для рисования фона кнопки.

CMFCButton::SelectFont

Извлекает шрифт, связанный с указанным контекстом устройства.

virtual CFont* SelectFont(CDC* pDC);

Параметры

pDC
[in] Указатель на контекст устройства.

Возвращаемое значение

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

Замечания

CMFCButton::SetAutorepeatMode

Задает кнопку для режима автоматического повтора.

void SetAutorepeatMode(int nTimeDelay=500);

Параметры

nTimeDelay
[in] Ненегрегативное число, указывающее интервал между сообщениями, отправленными в родительское окно. Интервал измеряется в миллисекундах, а значение по умолчанию — 500 миллисекунд. Укажите ноль, чтобы отключить режим автоматического повторения сообщений.

Замечания

Этот метод приводит к тому, что кнопка постоянно отправляет WM_COMMAND сообщения в родительское окно до тех пор, пока кнопка не будет освобождена, или nTimeDelay параметр имеет значение нулю.

CMFCButton::SetCheckedImage

Задает изображение для проверка проверка кнопки.

void SetCheckedImage(
    HICON hIcon,
    BOOL bAutoDestroy=TRUE,
    HICON hIconHot=NULL,
    HICON hIconDisabled=NULL,
    BOOL bAlphaBlend=FALSE);

void SetCheckedImage(
    HBITMAP hBitmap,
    BOOL bAutoDestroy=TRUE,
    HBITMAP hBitmapHot=NULL,
    BOOL bMap3dColors=TRUE,
    HBITMAP hBitmapDisabled=NULL);

void SetCheckedImage(
    UINT uiBmpResId,
    UINT uiBmpHotResId=0,
    UINT uiBmpDsblResID=0);

Параметры

hIcon
[in] Обработайте значок, содержащий растровое изображение и маску для нового изображения.

bAutoDestroy
[in] TRUE Значение , чтобы указать, что ресурсы растрового изображения будут уничтожены автоматически; FALSEв противном случае . Значение по умолчанию — TRUE.

hIconHot
[in] Обработайте значок, содержащий изображение для выбранного состояния.

hBitmap
[in] Дескриптор растрового изображения, содержащего изображение для не выбранного состояния.

hBitmapHot
[in] Дескриптор растрового изображения, содержащего изображение для выбранного состояния.

bMap3dColors
[in] Указывает прозрачный цвет фона кнопки; то есть лицо кнопки. TRUE для использования значения цвета RGB(192, 192, 192); FALSE значение цвета, определенное в параметре AFX_GLOBAL_DATA::clrBtnFace.

uiBmpResId
[in] Идентификатор ресурса для не выбранного изображения.

uiBmpHotResId
[in] Идентификатор ресурса для выбранного изображения.

hIconDisabled
[in] Обработайте значок для отключенного изображения.

hBitmapDisabled
[in] Дескриптор растрового изображения, содержащего отключенное изображение.

uiBmpDsblResID
[in] Идентификатор ресурса отключенной растровой карты.

bAlphaBlend
[in] TRUE для использования только 32-разрядных образов, использующих альфа-канал; FALSE, чтобы не использовать только образы альфа-канала. Значение по умолчанию — FALSE.

Замечания

CMFCButton::SetFaceColor

Задает цвет фона для текста кнопки.

void SetFaceColor(
    COLORREF crFace,
    BOOL bRedraw=TRUE);

Параметры

crFace
[in] Значение цвета RGB.

bRedraw
[in] TRUE для немедленного перерасхода экрана; FALSEв противном случае .

Замечания

Используйте этот метод, чтобы определить новый цвет заливки для фона кнопки (лицо). Обратите внимание, что фон не заполняется при использовании TRUEпеременной-членаCMFCButton::m_bTransparent.

CMFCButton::SetImage

Задает изображение для кнопки.

void SetImage(
    HICON hIcon,
    BOOL bAutoDestroy=TRUE,
    HICON hIconHot=NULL,
    HICON hIconDisabled=NULL,
    BOOL bAlphaBlend=FALSE);

void SetImage(
    HBITMAP hBitmap,
    BOOL bAutoDestroy=TRUE,
    HBITMAP hBitmapHot=NULL,
    BOOL bMap3dColors=TRUE,
    HBITMAP hBitmapDisabled=NULL);

void SetImage(
    UINT uiBmpResId,
    UINT uiBmpHotResId=0,
    UINT uiBmpDsblResID=0);

Параметры

hIcon
[in] Обработайте значок, содержащий растровое изображение и маску для нового изображения.

bAutoDestroy
[in] TRUE Значение , чтобы указать, что ресурсы растрового изображения будут уничтожены автоматически; FALSEв противном случае . Значение по умолчанию — TRUE.

hIconHot
[in] Обработайте значок, содержащий изображение для выбранного состояния.

hBitmap
[in] Дескриптор растрового изображения, содержащего изображение для не выбранного состояния.

hBitmapHot
[in] Дескриптор растрового изображения, содержащего изображение для выбранного состояния.

uiBmpResId
[in] Идентификатор ресурса для не выбранного изображения.

uiBmpHotResId
[in] Идентификатор ресурса для выбранного изображения.

bMap3dColors
[in] Указывает прозрачный цвет фона кнопки; то есть лицо кнопки. TRUE для использования значения цвета RGB(192, 192, 192); FALSE значение цвета, определенное в параметре AFX_GLOBAL_DATA::clrBtnFace.

hIconDisabled
[in] Обработайте значок для отключенного изображения.

hBitmapDisabled
[in] Дескриптор растрового изображения, содержащего отключенное изображение.

uiBmpDsblResID
[in] Идентификатор ресурса отключенной растровой карты.

bAlphaBlend
[in] TRUE для использования только 32-разрядных образов, использующих альфа-канал; FALSE, чтобы не использовать только образы альфа-канала. Значение по умолчанию — FALSE.

Замечания

Пример

В следующем примере показано, как использовать различные версии SetImage метода в CMFCButton классе. Пример является частью примера "Новые элементы управления".

CMFCButton m_Button;
// int m_iImage
// IDB_BTN1_32, IDB_BTN1_HOT_32, IDB_BTN1, IDB_BTN1_HOT are int macros that are #define.
if (m_iImage == 1)
{
   m_Button.SetImage((HBITMAP)NULL);
}
else
{
   m_Button.SetImage(IDB_BTN1_32, IDB_BTN1_HOT_32);
}

CMFCButton::SetMouseCursor

Задает изображение курсора.

void SetMouseCursor(HCURSOR hcursor);

Параметры

hcursor
[in] Дескриптор курсора.

Замечания

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

Пример

В следующем примере показано, как использовать SetMouseCursor метод в CMFCButton классе. Пример является частью кода в примере "Новые элементы управления".

CMFCButton m_Button;
// int m_iCursor
void CPage1::OnSetCursor()
{
   UpdateData();

   switch (m_iCursor)
   {
   case 0:
      m_Button.SetMouseCursor(NULL);
      break;

   case 1:
      m_Button.SetMouseCursorHand();
      break;

   case 2:
      m_Button.SetMouseCursor(AfxGetApp()->LoadCursor(IDC_CURSOR));
      break;
   }
}

CMFCButton::SetMouseCursorHand

Задает курсор на изображение руки.

void SetMouseCursorHand();

Замечания

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

CMFCButton::SetStdImage

CMenuImages Использует объект для задания изображения кнопки.

void SetStdImage(
    CMenuImages::IMAGES_IDS id,
    CMenuImages::IMAGE_STATE state=CMenuImages::ImageBlack,
    CMenuImages::IMAGES_IDS idDisabled=(CMenuImages::IMAGES_IDS)0);

Параметры

id
[in] Один из идентификаторов изображения кнопки, определенных в CMenuImage::IMAGES_IDS перечислении. Значения изображения указывают изображения, такие как стрелки, закрепления и переключатели.

state
[in] Один из идентификаторов состояния изображения кнопки, определенных в CMenuImages::IMAGE_STATE перечислении. Состояния изображения указывают цвета кнопки, такие как черный, серый, светлый серый, белый и темно-серый. Значение по умолчанию — CMenuImages::ImageBlack.

idDisabled
[in] Один из идентификаторов изображения кнопки, определенных в CMenuImage::IMAGES_IDS перечислении. Изображение указывает, что кнопка отключена. Значение по умолчанию — это первый образ кнопки ( CMenuImages::IdArrowDown).

Замечания

CMFCButton::SetTextColor

Задает цвет текста кнопки для кнопки, которая не выбрана.

void SetTextColor(COLORREF clrText);

Параметры

clrText
[in] Значение цвета RGB.

Замечания

CMFCButton::SetTextHotColor

Задает цвет текста кнопки для выбранной кнопки.

void SetTextHotColor(COLORREF clrTextHot);

Параметры

clrTextHot
[in] Значение цвета RGB.

Замечания

CMFCButton::SetTooltip

Связывает подсказку с кнопкой.

void SetTooltip(LPCTSTR lpszToolTipText);

Параметры

lpszToolTipText
[in] Указатель на текст подсказки. Укажите NULL , чтобы отключить подсказку.

Замечания

CMFCButton::SizeToContent

Изменяет размер кнопки, чтобы она содержала текст кнопки и изображение.

virtual CSize SizeToContent(BOOL bCalcOnly=FALSE);

Параметры

bCalcOnly
[in] TRUE чтобы вычислить, но не изменить, новый размер кнопки; FALSE чтобы изменить размер кнопки. Значение по умолчанию — FALSE.

Возвращаемое значение

Объект CSize , содержащий новый размер кнопки.

Замечания

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

См. также

Диаграмма иерархии
Классы
CMFCLinkCtrl Класса
CMFCColorButton Класса
CMFCMenuButton Класса