CMFCButton
Třída
Třída CMFCButton
přidává do třídy funkce CButton
, jako je zarovnání textu tlačítka, kombinování textu tlačítka a obrázku, výběr kurzoru a zadání popisu nástroje.
Syntaxe
class CMFCButton : public CButton
Členové
Veřejné konstruktory
Název | Popis |
---|---|
CMFCButton::CMFCButton |
Výchozí konstruktor. |
CMFCButton::~CMFCButton |
Destruktor. |
Veřejné metody
Název | Popis |
---|---|
CMFCButton::CleanUp |
Obnoví interní proměnné a uvolní přidělené prostředky, jako jsou obrázky, rastrové obrázky a ikony. |
CMFCButton::CreateObject |
Používá se architekturou k vytvoření dynamické instance tohoto typu třídy. |
CMFCButton::DrawItem |
Volá se podle architektury, když se změnil vizuální aspekt tlačítka nakresleného vlastníkem. (Přepsání CButton::DrawItem .) |
CMFCButton::EnableFullTextTooltip |
Určuje, jestli se má zobrazit celý text popisu ve velkém okně popisu nebo zkrácené verzi textu v malém okně popisu. |
CMFCButton::EnableMenuFont |
Určuje, jestli je písmo textu tlačítka stejné jako písmo nabídky aplikace. |
CMFCButton::EnableWindowsTheming |
Určuje, jestli styl ohraničení tlačítka odpovídá aktuálnímu motivu Windows. |
CMFCButton::GetThisClass |
Používá se architekturou k získání ukazatele na CRuntimeClass objekt, který je přidružen k tomuto typu třídy. |
CMFCButton::GetToolTipCtrl |
Vrátí odkaz na podkladový ovládací prvek popisu. |
CMFCButton::IsAutoCheck |
Určuje, zda je zaškrtávací políčko nebo přepínač automatickým tlačítkem. |
CMFCButton::IsAutorepeatCommandMode |
Určuje, jestli je tlačítko nastavené na režim automatického opakování. |
CMFCButton::IsCheckBox |
Určuje, jestli je tlačítko zaškrtávacím políkem. |
CMFCButton::IsChecked |
Určuje, jestli je aktuální tlačítko zaškrtnuté. |
CMFCButton::IsHighlighted |
Určuje, jestli je tlačítko zvýrazněné. |
CMFCButton::IsPressed |
Určuje, jestli je tlačítko stisknuto a zvýrazněno. |
CMFCButton::IsPushed |
Určuje, jestli je tlačítko stisknuto. |
CMFCButton::IsRadioButton |
Určuje, zda je tlačítko přepínač. |
CMFCButton::IsWindowsThemingEnabled |
Určuje, jestli styl ohraničení tlačítka odpovídá aktuálnímu motivu Windows. |
CMFCButton::OnDrawParentBackground |
Nakreslí pozadí nadřazeného tlačítka v zadané oblasti. (Přepsání AFX_GLOBAL_DATA::DrawParentBackground |
CMFCButton::PreTranslateMessage |
Přeloží zprávy oken před odesláním TranslateMessage do funkcí systému Windows a DispatchMessage Windows. (Přepsání CWnd::PreTranslateMessage .) |
CMFCButton::SetAutorepeatMode |
Nastaví tlačítko na režim automatického opakování. |
CMFCButton::SetCheckedImage |
Nastaví obrázek pro zaškrtnuté tlačítko. |
CMFCButton::SetFaceColor |
Nastaví barvu pozadí textu tlačítka. |
CMFCButton::SetImage |
Nastaví obrázek tlačítka. |
CMFCButton::SetMouseCursor |
Nastaví obrázek kurzoru. |
CMFCButton::SetMouseCursorHand |
Nastaví kurzor na obrázek ruky. |
CMFCButton::SetStdImage |
CMenuImages Použije objekt k nastavení obrázku tlačítka. |
CMFCButton::SetTextColor |
Nastaví barvu textu tlačítka pro tlačítko, které není vybrané. |
CMFCButton::SetTextHotColor |
Nastaví barvu textu tlačítka pro vybrané tlačítko. |
CMFCButton::SetTooltip |
Přidruží popis k tlačítku. |
CMFCButton::SizeToContent |
Změní velikost tlačítka tak, aby obsahovalo text a obrázek tlačítka. |
Chráněné metody
Název | Popis |
---|---|
CMFCButton::OnDraw |
Volá se rozhraním, které nakreslejí tlačítko. |
CMFCButton::OnDrawBorder |
Volá se rozhraním pro vykreslení ohraničení tlačítka. |
CMFCButton::OnDrawFocusRect |
Volá se rozhraním pro vykreslení obdélníku fokusu pro tlačítko. |
CMFCButton::OnDrawText |
Volá se rozhraním pro kreslení textu tlačítka. |
CMFCButton::OnFillBackground |
Volá se rozhraním pro vykreslení pozadí textu tlačítka. |
CMFCButton::SelectFont |
Načte písmo přidružené k zadanému kontextu zařízení. |
Datové členy
Název | Popis |
---|---|
CMFCButton::m_nAlignStyle |
Určuje zarovnání textu tlačítka. |
CMFCButton::m_bDontUseWinXPTheme |
Určuje, zda se mají používat motivy systému Windows XP. |
CMFCButton::m_bDrawFocus |
Určuje, jestli se má kolem tlačítka nakreslit obdélník fokusu. |
CMFCButton::m_nFlatStyle |
Určuje styl tlačítka, například bez ohraničení, ploché, částečně ploché nebo 3D. |
CMFCButton::m_bGrayDisabled |
Pokud je pravda, povolí se nakreslit zakázané tlačítko jako neaktivní. |
CMFCButton::m_bHighlightChecked |
Určuje, jestli se má při najetí kurzoru na tlačítko stylu BS_CHECKBOX zvýraznit. |
CMFCButton::m_bResponseOnButtonDown |
Určuje, jestli se mají reagovat na události spouštěné tlačítkem. |
CMFCButton::m_bRightImage |
Určuje, zda se má obrázek zobrazit na pravé straně tlačítka. |
CMFCButton::m_bTopImage |
Určuje, jestli je obrázek nahoře na tlačítku. |
CMFCButton::m_bTransparent |
Určuje, jestli je tlačítko průhledné. |
CMFCButton::m_bWasDblClk |
Určuje, jestli byla událost posledního kliknutí dvojitým kliknutím. |
Poznámky
Další typy tlačítek jsou odvozeny od CMFCButton
třídy, jako CMFCURLLinkButton
je třída, která podporuje hypertextové odkazy, a CMFCColorButton
třída, která podporuje dialogové okno pro výběr barvy.
Styl objektu CMFCButton
může být 3D
, flat
semi-flat
nebo no border
. Text tlačítka je možné zarovnat doleva, nahoru nebo na střed tlačítka. Za běhu můžete určit, jestli tlačítko zobrazuje text, obrázek nebo text a obrázek. Můžete také určit, že se při najetí kurzoru na tlačítko zobrazí konkrétní obrázek kurzoru.
Vytvořte ovládací prvek tlačítka buď přímo v kódu, nebo pomocí nástroje Průvodce třídou MFC a šablony dialogového okna. Pokud vytvoříte ovládací prvek tlačítka přímo, přidejte do aplikace proměnnou CMFCButton
a potom zavolejte konstruktor a Create
metody objektu CMFCButton
. Pokud používáte Průvodce třídou MFC, přidejte do aplikace proměnnou CButton
a potom změňte typ proměnné z CButton
na CMFCButton
.
Chcete-li zpracovávat zprávy oznámení v aplikaci dialogového okna, přidejte položku mapy zpráv a obslužnou rutinu události pro každé oznámení. Oznámení odeslaná objektem CMFCButton
jsou stejná jako oznámení odeslaná objektem CButton
.
Příklad
Následující příklad ukazuje, jak nakonfigurovat vlastnosti tlačítka pomocí různých metod ve CMFCButton
třídě. Příklad je součástí ukázky Nové ovládací prvky.
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!"));
Hierarchie dědičnosti
Požadavky
Záhlaví: afxbutton.h
CMFCButton::CleanUp
Obnoví interní proměnné a uvolní přidělené prostředky, jako jsou obrázky, rastrové obrázky a ikony.
virtual void CleanUp();
CMFCButton::EnableFullTextTooltip
Určuje, jestli se má zobrazit celý text popisu ve velkém okně popisu nebo zkrácené verzi textu v malém okně popisu.
void EnableFullTextTooltip(BOOL bOn=TRUE);
Parametry
bOn
[v] TRUE
zobrazit veškerý text; FALSE
zobrazí zkrácený text.
Poznámky
CMFCButton::EnableMenuFont
Určuje, jestli je písmo textu tlačítka stejné jako písmo nabídky aplikace.
void EnableMenuFont(
BOOL bOn=TRUE,
BOOL bRedraw=TRUE);
Parametry
bOn
[v] TRUE
použít písmo nabídky aplikace jako písmo textu tlačítka; FALSE
pro použití systémového písma. Výchozí hodnota je TRUE
.
bRedraw
[v] TRUE
k okamžitému překreslení obrazovky; v opačném případě . FALSE
Výchozí hodnota je TRUE
.
Poznámky
Pokud tuto metodu nepoužíváte k zadání písma textu tlačítka, můžete zadat písmo pomocí CWnd::SetFont
metody. Pokud vůbec nezadáte písmo, architektura nastaví výchozí písmo.
CMFCButton::EnableWindowsTheming
Určuje, jestli styl ohraničení tlačítka odpovídá aktuálnímu motivu Windows.
static void EnableWindowsTheming(BOOL bEnable = TRUE);
Parametry
bEnable
[v] TRUE
použít aktuální motiv Windows k kreslení ohraničení tlačítek; FALSE
nepoužívejte motiv Systému Windows. Výchozí hodnota je TRUE
.
Poznámky
Tato metoda ovlivňuje všechna tlačítka ve vaší aplikaci, která jsou odvozena z CMFCButton
třídy.
CMFCButton::GetToolTipCtrl
Vrátí odkaz na podkladový ovládací prvek popisu.
CToolTipCtrl& GetToolTipCtrl();
Návratová hodnota
Odkaz na podkladový ovládací prvek popisu
Poznámky
CMFCButton::IsAutoCheck
Určuje, zda je zaškrtávací políčko nebo přepínač automatickým tlačítkem.
BOOL IsAutoCheck() const;
Návratová hodnota
TRUE
pokud má tlačítko styl BS_AUTOCHECKBOX
nebo BS_AUTORADIOBUTTON
jinak, FALSE
.
Poznámky
CMFCButton::IsAutorepeatCommandMode
Určuje, jestli je tlačítko nastavené na režim automatického opakování.
BOOL IsAutorepeatCommandMode() const;
Návratová hodnota
TRUE
pokud je tlačítko nastaveno na režim automatického opakování; v opačném případě . FALSE
Poznámky
CMFCButton::SetAutorepeatMode
Pomocí metody můžete nastavit tlačítko na režim automatického opakování.
CMFCButton::IsCheckBox
Určuje, jestli je tlačítko zaškrtávacím políkem.
BOOL IsCheckBox() const;
Návratová hodnota
TRUE
pokud má tlačítko buď BS_CHECKBOX
nebo BS_AUTOCHECKBOX
styl; jinak, FALSE
.
Poznámky
CMFCButton::IsChecked
Určuje, jestli je aktuální tlačítko zaškrtnuté.
BOOL IsChecked() const;
Návratová hodnota
TRUE
je-li zaškrtnuto aktuální tlačítko; v opačném případě . FALSE
Poznámky
Architektura používá různé způsoby, jak označit, že jsou zaškrtnuté různé druhy tlačítek. Přepínač je například zaškrtnut, pokud obsahuje tečku; zaškrtávací políčko je zaškrtnuté, pokud obsahuje .X
CMFCButton::IsHighlighted
Určuje, jestli je tlačítko zvýrazněné.
BOOL IsHighlighted() const;
Návratová hodnota
TRUE
pokud je tlačítko zvýrazněno; v opačném případě . FALSE
Poznámky
Když na tlačítko najedete myší, zvýrazní se tlačítko.
CMFCButton::IsPressed
Určuje, jestli je tlačítko stisknuto a zvýrazněno.
BOOL IsPressed() const;
Návratová hodnota
TRUE
je-li tlačítko stisknuto; v opačném případě . FALSE
Poznámky
CMFCButton::IsPushed
Určuje, jestli je tlačítko stisknuto.
BOOL IsPushed() const;
Návratová hodnota
TRUE
je-li tlačítko nasunuto; v opačném případě . FALSE
Poznámky
CMFCButton::IsRadioButton
Určuje, zda je tlačítko přepínač.
BOOL IsRadioButton() const;
Návratová hodnota
TRUE
je-li styl BS_RADIOBUTTON
tlačítka nebo BS_AUTORADIOBUTTON
; jinak, FALSE
.
Poznámky
CMFCButton::IsWindowsThemingEnabled
Určuje, jestli styl ohraničení tlačítka odpovídá aktuálnímu motivu Windows.
static BOOL IsWindowsThemingEnabled();
Návratová hodnota
TRUE
pokud styl ohraničení tlačítka odpovídá aktuálnímu motivu Windows; v opačném případě . FALSE
CMFCButton::m_bDontUseWinXPTheme
Určuje, zda se mají při kreslení tlačítka používat motivy systému Windows XP.
BOOL m_bDontUseWinXPTheme;
CMFCButton::m_bDrawFocus
Určuje, jestli se má kolem tlačítka nakreslit obdélník fokusu.
BOOL m_bDrawFocus;
Poznámky
Nastavte člena m_bDrawFocus
tak, aby TRUE
určil, že architektura bude nakreslit obdélník fokusu kolem textu a obrázku tlačítka, pokud tlačítko obdrží fokus.
Konstruktor CMFCButton
inicializuje tento člen na TRUE
.
CMFCButton::m_bGrayDisabled
Když TRUE
povolíte, aby se zakázané tlačítko vykreslilo šedě.
BOOL m_bGrayDisabled;
CMFCButton::m_bHighlightChecked
Označuje, jestli se má při najetí kurzoru na tlačítko -style zvýraznit BS_CHECKBOX
.
BOOL m_bHighlightChecked;
Poznámky
Nastavte člen m_bHighlightChecked
tak, aby TRUE
určil, že architektura při najetí myší na něj zvýrazní BS_CHECKBOX
tlačítko -style.
CMFCButton::m_bResponseOnButtonDown
Určuje, jestli se mají reagovat na události spouštěné tlačítkem.
BOOL m_bResponseOnButtonDown;
CMFCButton::m_bRightImage
Určuje, zda se má obrázek zobrazit na pravé straně tlačítka.
BOOL m_bRightImage;
CMFCButton::m_bTopImage](#m_bTopImage)
Určuje, jestli je obrázek nahoře na tlačítku.
BOOL m_bTopImage;
Poznámky
Nastavte člena m_bRightImage
tak, aby TRUE
určil, že architektura zobrazí obrázek tlačítka napravo od popisku textu tlačítka.
CMFCButton::m_bTransparent
Určuje, jestli je tlačítko průhledné.
BOOL m_bTransparent;
Poznámky
Nastavte člena m_bTransparent
tak, aby TRUE
určil, že architektura bude tlačítko průhledné. Konstruktor CMFCButton
inicializuje tento člen na FALSE
.
CMFCButton::m_nAlignStyle
Určuje zarovnání textu tlačítka.
AlignStyle m_nAlignStyle;
Poznámky
K určení zarovnání textu tlačítka použijte jednu z následujících CMFCButton::AlignStyle
hodnot výčtu:
Hodnota | Popis |
---|---|
ALIGN_CENTER |
(Výchozí) Zarovná text tlačítka na střed tlačítka. |
ALIGN_LEFT |
Zarovná text tlačítka na levou stranu tlačítka. |
ALIGN_RIGHT |
Zarovná text tlačítka na pravou stranu tlačítka. |
Konstruktor CMFCButton
inicializuje tento člen na ALIGN_CENTER
.
CMFCButton::m_bWasDblClk
](#m_bWasDblClk)|
Určuje, zda byla událost posledního kliknutí dvojitým kliknutím.|
BOOL m_bWasDblClk;
CMFCButton::m_nFlatStyle
Určuje styl tlačítka, například bez ohraničení, ploché, částečně ploché nebo 3D.
FlatStyle m_nFlatStyle;
Poznámky
Následující tabulka uvádí hodnoty výčtu CMFCButton::m_nFlatStyle
, které určují vzhled tlačítka.
Hodnota | Popis |
---|---|
BUTTONSTYLE_3D |
(Výchozí) Zdá se, že tlačítko má vysoké trojrozměrné strany. Po kliknutí na tlačítko se zobrazí stisknutí tlačítka do hloubkového odsazení. |
BUTTONSTYLE_FLAT |
Když se myš nad tlačítkem nepřestaví, zdá se, že je tlačítko dvourozměrné a nemá zvednuté strany. Když se myš nad tlačítkem zastaví, zdá se, že tlačítko má nízké trojrozměrné strany. Po kliknutí na tlačítko se tlačítko zobrazí, že se stiskne do mělké odsazení. |
BUTTONSTYLE_SEMIFLAT |
Zdá se, že tlačítko má nízké trojrozměrné strany. Po kliknutí na tlačítko se zobrazí stisknutí tlačítka do hloubkového odsazení. |
BUTTONSTYLE_NOBORDERS |
Tlačítko nemá zdvižené strany a vždy se zobrazí dvojrozměrné. Při kliknutí na toto tlačítko se zdá, že se při kliknutí nestiskne do odsazení. |
Konstruktor CMFCButton
inicializuje tento člen na BUTTONSTYLE_3D
.
Příklad
Následující příklad ukazuje, jak nastavit hodnoty m_nFlatStyle
členské proměnné ve CMFCButton
třídě. Tento příklad je součástí ukázky Nové ovládací prvky.
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
Volá se rozhraním, které nakreslejí tlačítko.
virtual void OnDraw(
CDC* pDC,
const CRect& rect,
UINT uiState);
Parametry
pDC
[v] Ukazatel na kontext zařízení.
rect
[v] Odkaz na obdélník, který ohraničuje tlačítko.
uiState
[v] Aktuální stav tlačítka. Další informace naleznete v itemState
členu DRAWITEMSTRUCT
tématu Struktura .
Poznámky
Tuto metodu přepište tak, aby k nakreslení tlačítka použil vlastní kód.
CMFCButton::OnDrawBorder
Volá se rozhraním pro vykreslení ohraničení tlačítka.
virtual void OnDrawBorder(
CDC* pDC,
CRect& rectClient,
UINT uiState);
Parametry
pDC
[v] Ukazatel na kontext zařízení.
rectClient
[v] Odkaz na obdélník, který ohraničuje tlačítko.
uiState
[v] Aktuální stav tlačítka. Další informace naleznete v itemState
členu DRAWITEMSTRUCT
tématu Struktura .
Poznámky
Přepište tuto metodu tak, aby k vykreslení ohraničení použil vlastní kód.
CMFCButton::OnDrawFocusRect
Volá se rozhraním pro vykreslení obdélníku fokusu pro tlačítko.
virtual void OnDrawFocusRect(
CDC* pDC,
const CRect& rectClient);
Parametry
pDC
[v] Ukazatel na kontext zařízení.
rectClient
[v] Odkaz na obdélník, který ohraničuje tlačítko.
Poznámky
Tuto metodu přepište tak, aby používala vlastní kód k vykreslení obdélníku fokusu.
CMFCButton::OnDrawText
Volá se rozhraním pro kreslení textu tlačítka.
virtual void OnDrawText(
CDC* pDC,
const CRect& rect,
const CString& strText,
UINT uiDTFlags,
UINT uiState);
Parametry
pDC
[v] Ukazatel na kontext zařízení.
rect
[v] Odkaz na obdélník, který ohraničuje tlačítko.
strText
[v] Text, který chcete nakreslit.
uiDTFlags
[v] Příznaky, které určují, jak formátovat text. Další informace naleznete v nFormat
parametru CDC::DrawText
metody.
uiState
[v] Rezervovaný.
Poznámky
Tuto metodu přepište tak, aby k vykreslení textu tlačítka použil vlastní kód.
CMFCButton::OnFillBackground
Volá se rozhraním pro vykreslení pozadí textu tlačítka.
virtual void OnFillBackground(
CDC* pDC,
const CRect& rectClient);
Parametry
pDC
[v] Ukazatel na kontext zařízení.
rectClient
[v] Odkaz na obdélník, který ohraničuje tlačítko.
Poznámky
Přepište tuto metodu tak, aby pomocí vlastního kódu nakreslila pozadí tlačítka.
CMFCButton::SelectFont
Načte písmo přidružené k zadanému kontextu zařízení.
virtual CFont* SelectFont(CDC* pDC);
Parametry
pDC
[v] Ukazatel na kontext zařízení.
Návratová hodnota
Přepište tuto metodu tak, aby k načtení písma použil vlastní kód.
Poznámky
CMFCButton::SetAutorepeatMode
Nastaví tlačítko na režim automatického opakování.
void SetAutorepeatMode(int nTimeDelay=500);
Parametry
nTimeDelay
[v] Nenegativní číslo, které určuje interval mezi zprávami odesílaným do nadřazeného okna. Interval se měří v milisekundách a jeho výchozí hodnota je 500 milisekund. Chcete-li zakázat režim automatického opakování zpráv, zadejte nulu.
Poznámky
Tato metoda způsobí, že tlačítko bude neustále odesílat WM_COMMAND
zprávy do nadřazeného okna, dokud se tlačítko nevolí, nebo je parametr nastaven na nulu nTimeDelay
.
CMFCButton::SetCheckedImage
Nastaví obrázek pro zaškrtnuté tlačítko.
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);
Parametry
hIcon
[v] Úchyt k ikoně, která obsahuje rastrový obrázek a masku pro nový obrázek.
bAutoDestroy
[v] TRUE
určit, že rastrové zdroje budou zničeny automaticky; v opačném případě . FALSE
Výchozí hodnota je TRUE
.
hIconHot
[v] Úchyt ikony, která obsahuje obrázek pro vybraný stav
hBitmap
[v] Úchyt rastrového obrázku, který obsahuje obrázek pro nevybrali stav.
hBitmapHot
[v] Úchyt pro rastrový obrázek, který obsahuje obrázek pro vybraný stav.
bMap3dColors
[v] Určuje průhlednou barvu pozadí tlačítka; to znamená tvář tlačítka. TRUE
pro použití barevné hodnoty RGB(192; 192; 192); FALSE
použít hodnotu barvy definovanou AFX_GLOBAL_DATA::clrBtnFace
hodnotou .
uiBmpResId
[v] ID prostředku pro nevybrali image.
uiBmpHotResId
[v] ID prostředku pro vybraný obrázek
hIconDisabled
[v] Popisovač ikony zakázaného obrázku
hBitmapDisabled
[v] Popisovač rastrového obrázku, který obsahuje zakázaný obrázek.
uiBmpDsblResID
[v] ID prostředku zakázaného rastrového obrázku
bAlphaBlend
[v] TRUE
používat pouze 32bitové obrázky, které používají alfa kanál; FALSE
, nepoužívejte pouze obrázky alfa kanálu. Výchozí hodnota je FALSE
.
Poznámky
CMFCButton::SetFaceColor
Nastaví barvu pozadí textu tlačítka.
void SetFaceColor(
COLORREF crFace,
BOOL bRedraw=TRUE);
Parametry
crFace
[v] Hodnota barvy RGB.
bRedraw
[v] TRUE
k okamžitému překreslení obrazovky; v opačném případě . FALSE
Poznámky
Tato metoda slouží k definování nové barvy výplně pro pozadí tlačítka (tvář). Všimněte si, že pozadí není vyplněno, pokud CMFCButton::m_bTransparent
je TRUE
členské proměnné .
CMFCButton::SetImage
Nastaví obrázek tlačítka.
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);
Parametry
hIcon
[v] Úchyt k ikoně, která obsahuje rastrový obrázek a masku pro nový obrázek.
bAutoDestroy
[v] TRUE
určit, že rastrové zdroje budou zničeny automaticky; v opačném případě . FALSE
Výchozí hodnota je TRUE
.
hIconHot
[v] Úchyt ikony, která obsahuje obrázek pro vybraný stav
hBitmap
[v] Úchyt rastrového obrázku, který obsahuje obrázek pro nevybrali stav.
hBitmapHot
[v] Úchyt pro rastrový obrázek, který obsahuje obrázek pro vybraný stav.
uiBmpResId
[v] ID prostředku pro nevybrali image.
uiBmpHotResId
[v] ID prostředku pro vybraný obrázek
bMap3dColors
[v] Určuje průhlednou barvu pozadí tlačítka; to znamená tvář tlačítka. TRUE
pro použití barevné hodnoty RGB(192; 192; 192); FALSE
použít hodnotu barvy definovanou AFX_GLOBAL_DATA::clrBtnFace
hodnotou .
hIconDisabled
[v] Popisovač ikony zakázaného obrázku
hBitmapDisabled
[v] Popisovač rastrového obrázku, který obsahuje zakázaný obrázek.
uiBmpDsblResID
[v] ID prostředku zakázaného rastrového obrázku
bAlphaBlend
[v] TRUE
používat pouze 32bitové obrázky, které používají alfa kanál; FALSE
, nepoužívejte pouze obrázky alfa kanálu. Výchozí hodnota je FALSE
.
Poznámky
Příklad
Následující příklad ukazuje, jak používat různé verze SetImage
metody ve CMFCButton
třídě. Příklad je součástí ukázky Nové ovládací prvky.
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
Nastaví obrázek kurzoru.
void SetMouseCursor(HCURSOR hcursor);
Parametry
hcursor
[v] Úchyt kurzoru.
Poznámky
Pomocí této metody přidružíte k tlačítku obrázek kurzoru, například kurzor ruky. Kurzor se načte z prostředků aplikace.
Příklad
Následující příklad ukazuje, jak použít metodu SetMouseCursor
CMFCButton
ve třídě. Příklad je součástí kódu v ukázce Nové ovládací prvky.
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
Nastaví kurzor na obrázek ruky.
void SetMouseCursorHand();
Poznámky
Pomocí této metody přidružíte kurzorový obrázek ruky k tlačítku. Kurzor se načte z prostředků aplikace.
CMFCButton::SetStdImage
CMenuImages
Použije objekt k nastavení obrázku tlačítka.
void SetStdImage(
CMenuImages::IMAGES_IDS id,
CMenuImages::IMAGE_STATE state=CMenuImages::ImageBlack,
CMenuImages::IMAGES_IDS idDisabled=(CMenuImages::IMAGES_IDS)0);
Parametry
id
[v] Jeden z identifikátorů obrázku tlačítka, který je definován v výčtu CMenuImage::IMAGES_IDS
. Hodnoty obrázku určují obrázky, jako jsou šipky, špendlíky a přepínače.
state
[v] Jeden z identifikátorů stavu obrázku tlačítka, který je definován v výčtu CMenuImages::IMAGE_STATE
. V obrázku jsou uvedeny barvy tlačítek, jako je černá, šedá, světle šedá, bílá a tmavě šedá. Výchozí hodnota je CMenuImages::ImageBlack
.
idDisabled
[v] Jeden z identifikátorů obrázku tlačítka, který je definován v výčtu CMenuImage::IMAGES_IDS
. Obrázek označuje, že je tlačítko zakázané. Výchozí hodnota je první obrázek tlačítka ( CMenuImages::IdArrowDown
).
Poznámky
CMFCButton::SetTextColor
Nastaví barvu textu tlačítka pro tlačítko, které není vybrané.
void SetTextColor(COLORREF clrText);
Parametry
clrText
[v] Hodnota barvy RGB.
Poznámky
CMFCButton::SetTextHotColor
Nastaví barvu textu tlačítka pro vybrané tlačítko.
void SetTextHotColor(COLORREF clrTextHot);
Parametry
clrTextHot
[v] Hodnota barvy RGB.
Poznámky
CMFCButton::SetTooltip
Přidruží popis k tlačítku.
void SetTooltip(LPCTSTR lpszToolTipText);
Parametry
lpszToolTipText
[v] Ukazatel na text popisu Zadejte NULL
, pokud chcete popisek zakázat.
Poznámky
CMFCButton::SizeToContent
Změní velikost tlačítka tak, aby obsahovalo text a obrázek tlačítka.
virtual CSize SizeToContent(BOOL bCalcOnly=FALSE);
Parametry
bCalcOnly
[v] TRUE
pro výpočet, ale ne změnit, nová velikost tlačítka; FALSE
a změňte velikost tlačítka. Výchozí hodnota je FALSE
.
Návratová hodnota
Objekt CSize
, který obsahuje novou velikost tlačítka.
Poznámky
Ve výchozím nastavení tato metoda vypočítá novou velikost, která zahrnuje vodorovný okraj 10 pixelů a svislý okraj 5 pixelů.
Viz také
Graf hierarchie
Třídy
CMFCLinkCtrl
Třída
CMFCColorButton
Třída
CMFCMenuButton
Třída