Sdílet prostřednictvím


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, flatsemi-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

CObject

CCmdTarget

CWnd

CButton

CMFCButton

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_AUTORADIOBUTTONjinak, 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

TRUEpokud 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

TRUEje-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

TRUEpokud 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

TRUEje-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

TRUEje-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

TRUEpokud 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ž TRUEpovolí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_CHECKBOXtlačí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::clrBtnFacehodnotou .

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::clrBtnFacehodnotou .

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