Класс 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_CHECKBOX стиля при наведении курсора на него. |
CMFCButton::m_bResponseOnButtonDown |
Указывает, следует ли реагировать на события вниз кнопки. |
CMFCButton::m_bRightImage |
Указывает, следует ли отображать изображение в правой части кнопки. |
CMFCButton::m_bTopImage |
Указывает, находится ли изображение в верхней части кнопки. |
CMFCButton::m_bTransparent |
Указывает, является ли кнопка прозрачной. |
CMFCButton::m_bWasDblClk |
Указывает, было ли событие последнего щелчка двойным щелчком. |
Замечания
Другие типы кнопок являются производными от CMFCButton
класса, например CMFCURLLinkButton
класса, который поддерживает гиперссылки и CMFCColorButton
класс, который поддерживает диалоговое окно выбора цвета.
Стиль CMFCButton
объекта может быть 3D
, flat
semi-flat
или no border
. Текст кнопки можно выровнять в левом, верхнем или центре кнопки. Во время выполнения можно контролировать, отображается ли кнопка текст, изображение или текст и изображение. Кроме того, можно указать, что при наведении курсора на кнопку отображается определенное изображение курсора.
Создайте элемент управления кнопкой непосредственно в коде или с помощью средства мастера классов MFC и шаблона диалогового окна. Если вы создаете элемент управления кнопкой напрямую, добавьте CMFCButton
переменную в приложение, а затем вызовите конструктор и Create
методы CMFCButton
объекта. Если вы используете мастер классов MFC, добавьте CButton
переменную в приложение, а затем измените тип переменной на CButton
CMFCButton
.
Чтобы обрабатывать сообщения уведомлений в приложении диалогового окна, добавьте запись карты сообщений и обработчик событий для каждого уведомления. Уведомления, отправленные 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!"));
Иерархия наследования
Требования
Заголовок: 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_CHECKBOX
BS_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
значений перечисления, чтобы указать выравнивание текста кнопки:
значение | Описание |
---|---|
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
значения перечисления, указывающие внешний вид кнопки.
значение | Описание |
---|---|
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
Класс