Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Класс
Замечание
Библиотека классов Microsoft Foundation (MFC) продолжает поддерживаться. Однако мы больше не добавляем функции или обновляем документацию.
Класс 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, 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!"));
Иерархия наследования
Требования
Заголовок: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Значение , BS_CHECKBOXесли кнопка имеет либо BS_AUTOCHECKBOXFALSE стиль; в противном случае .
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
Указывает, находится ли изображение в верхней части кнопки.
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
Указывает, было ли событие последнего щелчка двойным щелчком.
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в противном случае .
Замечания
Используйте этот метод, чтобы определить новый цвет заливки для фона кнопки (лицо). Обратите внимание, что фон не заполняется при использовании CMFCButton::m_bTransparentпеременной-членаTRUE.
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 Класс