CMFCButton
osztály
A CMFCButton
osztály olyan funkciókat ad hozzá a CButton
osztályhoz, mint a gombszöveg igazítása, a gombszöveg és a kép kombinálása, a kurzor kijelölése és egy eszköztipp megadása.
Szintaxis
class CMFCButton : public CButton
Tagok
Nyilvános konstruktorok
Név | Leírás |
---|---|
CMFCButton::CMFCButton |
Alapértelmezett konstruktor. |
CMFCButton::~CMFCButton |
Destruktor. |
Nyilvános metódusok
Név | Leírás |
---|---|
CMFCButton::CleanUp |
Alaphelyzetbe állítja a belső változókat, és felszabadítja a lefoglalt erőforrásokat, például képeket, bitképeket és ikonokat. |
CMFCButton::CreateObject |
A keretrendszer egy ilyen típusú dinamikus példány létrehozásához használja. |
CMFCButton::DrawItem |
A keretrendszer meghívta, amikor egy tulajdonos által rajzolt gomb vizuális aspektusa megváltozott. (Felülbírálások CButton::DrawItem .) |
CMFCButton::EnableFullTextTooltip |
Meghatározza, hogy egy elemleírás teljes szövegét megjelenítse-e egy nagy elemleírás-ablakban, vagy a szöveg csonkolt verzióját egy kis elemleírás-ablakban. |
CMFCButton::EnableMenuFont |
Megadja, hogy a gomb szövegének betűtípusa megegyezik-e az alkalmazásmenü betűtípusával. |
CMFCButton::EnableWindowsTheming |
Megadja, hogy a gombszegély stílusa megfelel-e az aktuális Windows-témának. |
CMFCButton::GetThisClass |
A keretrendszer az ehhez az osztálytípushoz társított CRuntimeClass objektumra mutató mutató lekéréséhez használható. |
CMFCButton::GetToolTipCtrl |
A mögöttes elemleírás-vezérlőre mutató hivatkozást ad vissza. |
CMFCButton::IsAutoCheck |
Azt jelzi, hogy a jelölőnégyzet vagy a választógomb automatikus gomb-e. |
CMFCButton::IsAutorepeatCommandMode |
Azt jelzi, hogy egy gomb automatikus ismétlési módra van-e beállítva. |
CMFCButton::IsCheckBox |
Azt jelzi, hogy a gomb jelölőnégyzet gomb-e. |
CMFCButton::IsChecked |
Azt jelzi, hogy az aktuális gomb be van-e jelölve. |
CMFCButton::IsHighlighted |
Azt jelzi, hogy egy gomb ki van-e emelve. |
CMFCButton::IsPressed |
Azt jelzi, hogy egy gomb le van-e nyomva és kiemelve. |
CMFCButton::IsPushed |
Azt jelzi, hogy le van-e nyomva egy gomb. |
CMFCButton::IsRadioButton |
Azt jelzi, hogy a gomb egy választógomb-e. |
CMFCButton::IsWindowsThemingEnabled |
Azt jelzi, hogy a gombszegély stílusa megfelel-e az aktuális Windows-témának. |
CMFCButton::OnDrawParentBackground |
A gomb szülőjének hátterét rajzolja meg a megadott területen. (Felülbírálások AFX_GLOBAL_DATA::DrawParentBackground .) |
CMFCButton::PreTranslateMessage |
Lefordítja az ablaküzeneteket, mielőtt elküldené őket a TranslateMessage és DispatchMessage Windows-függvényekbe. (Felülbírálások CWnd::PreTranslateMessage .) |
CMFCButton::SetAutorepeatMode |
Beállít egy gombot automatikus ismétlési módra. |
CMFCButton::SetCheckedImage |
Bejelölt gomb képének beállítása. |
CMFCButton::SetFaceColor |
Beállítja a gomb szövegének háttérszínét. |
CMFCButton::SetImage |
Beállítja a képet egy gombhoz. |
CMFCButton::SetMouseCursor |
Beállítja a kurzor képét. |
CMFCButton::SetMouseCursorHand |
A kurzort egy kéz képére állítja. |
CMFCButton::SetStdImage |
Egy CMenuImages objektummal állítja be a gomb képét. |
CMFCButton::SetTextColor |
Beállítja a gomb szövegének színét egy olyan gombhoz, amely nincs kijelölve. |
CMFCButton::SetTextHotColor |
A kijelölt gomb szövegének színét állítja be. |
CMFCButton::SetTooltip |
Elemleírás társítása egy gombbal. |
CMFCButton::SizeToContent |
Átméretez egy gombot, hogy tartalmazza a gomb szövegét és képét. |
Védett metódusok
Név | Leírás |
---|---|
CMFCButton::OnDraw |
A keretrendszer meghívta, hogy rajzoljon egy gombot. |
CMFCButton::OnDrawBorder |
A keretrendszer meghívta, hogy megrajzolja egy gomb szegélyét. |
CMFCButton::OnDrawFocusRect |
A keretrendszer meghívta, hogy megrajzolja a fókusz téglalapot egy gombhoz. |
CMFCButton::OnDrawText |
A keretrendszer meghívta a gomb szövegének rajzolásához. |
CMFCButton::OnFillBackground |
A keretrendszer meghívta, hogy megrajzolja a gomb szövegének hátterét. |
CMFCButton::SelectFont |
Lekéri a megadott eszközkörnyezethez társított betűtípust. |
Adattagok
Név | Leírás |
---|---|
CMFCButton::m_nAlignStyle |
A gomb szövegének igazítását adja meg. |
CMFCButton::m_bDontUseWinXPTheme |
Megadja, hogy Windows XP-témákat használjon-e. |
CMFCButton::m_bDrawFocus |
Azt jelzi, hogy egy fókusz téglalapot szeretne-e rajzolni egy gomb köré. |
CMFCButton::m_nFlatStyle |
Megadja a gomb stílusát, például szegély nélküli, lapos, félig lapos vagy 3D. |
CMFCButton::m_bGrayDisabled |
Ha TRUE , akkor a letiltott gomb szürkére van rajzolva. |
CMFCButton::m_bHighlightChecked |
Azt jelzi, hogy ki kell-e emelni egy BS_CHECKBOX -style gombot, amikor a kurzor rámutat rá. |
CMFCButton::m_bResponseOnButtonDown |
Azt jelzi, hogy válaszoljon-e a gombot lenyomó eseményekre. |
CMFCButton::m_bRightImage |
Azt jelzi, hogy megjelenít-e egy képet a gomb jobb oldalán. |
CMFCButton::m_bTopImage |
Azt jelzi, hogy a kép a gomb tetején van-e. |
CMFCButton::m_bTransparent |
Azt jelzi, hogy a gomb átlátszó-e. |
CMFCButton::m_bWasDblClk |
Azt jelzi, hogy az utolsó kattintási esemény dupla kattintás volt-e. |
Megjegyzések
Más típusú gombok a CMFCButton
osztályból származnak, például a hivatkozásokat támogató CMFCURLLinkButton
osztályból és a CMFCColorButton
osztályból, amely támogatja a színválasztó párbeszédpanelt.
Egy CMFCButton
objektum stílusa lehet 3D
, flat
, semi-flat
vagy no border
. A gomb szövege igazítható egy gomb bal, felső vagy középső részén. Futtatáskor szabályozhatja, hogy a gomb megjelenít-e szöveget, képet vagy szöveget és képet. Azt is megadhatja, hogy egy adott kurzorkép jelenjen meg, amikor a kurzor egy gombra mutat.
Hozzon létre egy gombvezérlőt közvetlenül a kódban, vagy az MFC-osztály varázsló eszközzel és egy párbeszédpanelsablonnal. Ha közvetlenül hoz létre gombvezérlőt, adjon hozzá egy CMFCButton
változót az alkalmazáshoz, majd hívja meg a CMFCButton
objektum konstruktorát és Create
metódusait. Ha az MFC osztályvarázslóthasználja, adjon hozzá egy CButton
változót az alkalmazáshoz, majd módosítsa a változó típusát CButton
-ről CMFCButton
- ra.
Ha egy párbeszédpanel-alkalmazásban szeretné kezelni az értesítési üzeneteket, minden egyes értesítéshez adjon hozzá egy üzenettérkép-bejegyzést és egy eseménykezelőt. A CMFCButton
objektum által küldött értesítések megegyeznek az CButton
objektum által küldött értesítésekkel.
Példa
Az alábbi példa bemutatja, hogyan konfigurálhatja a gomb tulajdonságait a CMFCButton
osztály különböző metódusaival. A példa az Új vezérlők mintarésze.
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!"));
Öröklési hierarchia
Követelmények
fejléc:afxbutton.h
CMFCButton::CleanUp
Alaphelyzetbe állítja a belső változókat, és felszabadítja a lefoglalt erőforrásokat, például képeket, bitképeket és ikonokat.
virtual void CleanUp();
CMFCButton::EnableFullTextTooltip
Meghatározza, hogy egy elemleírás teljes szövegét megjelenítse-e egy nagy elemleírás-ablakban, vagy a szöveg csonkolt verzióját egy kis elemleírás-ablakban.
void EnableFullTextTooltip(BOOL bOn=TRUE);
Paraméterek
bOn
[in] TRUE
az összes szöveg megjelenítéséhez; FALSE
csonkolt szöveg megjelenítéséhez.
CMFCButton::EnableMenuFont
Megadja, hogy a gomb szövegének betűtípusa megegyezik-e az alkalmazásmenü betűtípusával.
void EnableMenuFont(
BOOL bOn=TRUE,
BOOL bRedraw=TRUE);
Paraméterek
bOn
[in] TRUE
, hogy az alkalmazásmenü betűtípusát használja gombszöveg-betűtípusként; FALSE
a rendszer betűtípusának használatára. Az alapértelmezett érték a TRUE
.
bRedraw
[in] TRUE
, hogy azonnal újrarajzolva a képernyőt; ellenkező esetben FALSE
. Az alapértelmezett érték a TRUE
.
Megjegyzések
Ha nem ezzel a módszerrel adja meg a gombszöveg betűtípusát, a betűtípust a CWnd::SetFont
metódussal adhatja meg. Ha egyáltalán nem ad meg betűtípust, a keretrendszer beállít egy alapértelmezett betűtípust.
CMFCButton::EnableWindowsTheming
Megadja, hogy a gombszegély stílusa megfelel-e az aktuális Windows-témának.
static void EnableWindowsTheming(BOOL bEnable = TRUE);
Paraméterek
bEnable
[in] TRUE
, hogy az aktuális Windows-témát használja gombszegélyek rajzolásához; FALSE
, hogy ne használja a Windows-témát. Az alapértelmezett érték a TRUE
.
Megjegyzések
Ez a módszer az alkalmazás összes olyan gombját érinti, amely a CMFCButton
osztályból származik.
CMFCButton::GetToolTipCtrl
A mögöttes elemleírás-vezérlőre mutató hivatkozást ad vissza.
CToolTipCtrl& GetToolTipCtrl();
Visszaadott érték
Hivatkozás az alapul szolgáló elemleírás-vezérlőre.
CMFCButton::IsAutoCheck
Azt jelzi, hogy a jelölőnégyzet vagy a választógomb automatikus gomb-e.
BOOL IsAutoCheck() const;
Visszaadott érték
TRUE
, hogy a gomb stílusa BS_AUTOCHECKBOX
vagy BS_AUTORADIOBUTTON
; ellenkező esetben FALSE
.
CMFCButton::IsAutorepeatCommandMode
Azt jelzi, hogy egy gomb automatikus ismétlési módra van-e beállítva.
BOOL IsAutorepeatCommandMode() const;
Visszaadott érték
TRUE
, hogy a gomb automatikus ismétlési módra van-e beállítva; ellenkező esetben FALSE
.
Megjegyzések
A CMFCButton::SetAutorepeatMode
metódussal állíthat be egy gombot automatikus ismétlési módra.
CMFCButton::IsCheckBox
Azt jelzi, hogy a gomb jelölőnégyzet gomb-e.
BOOL IsCheckBox() const;
Visszaadott érték
TRUE
, hogy a gomb BS_CHECKBOX
vagy BS_AUTOCHECKBOX
stílussal rendelkezik-e; ellenkező esetben FALSE
.
CMFCButton::IsChecked
Azt jelzi, hogy az aktuális gomb be van-e jelölve.
BOOL IsChecked() const;
Visszaadott érték
TRUE
, ha az aktuális gomb be van jelölve; ellenkező esetben FALSE
.
Megjegyzések
A keretrendszer különböző módokon jelzi, hogy a rendszer különböző típusú gombokat ellenőriz. Egy választógomb például akkor van bejelölve, ha az tartalmaz egy elemet; jelölőnégyzet be van jelölve, ha X
tartalmaz.
CMFCButton::IsHighlighted
Azt jelzi, hogy egy gomb ki van-e emelve.
BOOL IsHighlighted() const;
Visszaadott érték
TRUE
, ha a gomb ki van emelve; ellenkező esetben FALSE
.
Megjegyzések
A gomb akkor lesz kiemelve, ha az egér a gomb fölé mutat.
CMFCButton::IsPressed
Azt jelzi, hogy egy gomb le van-e nyomva és kiemelve.
BOOL IsPressed() const;
Visszaadott érték
TRUE
, ha a gomb megnyomva van; ellenkező esetben FALSE
.
CMFCButton::IsPushed
Azt jelzi, hogy le van-e nyomva egy gomb.
BOOL IsPushed() const;
Visszaadott érték
TRUE
, hogy a gomb le van-e nyomva; ellenkező esetben FALSE
.
CMFCButton::IsRadioButton
Azt jelzi, hogy a gomb egy választógomb-e.
BOOL IsRadioButton() const;
Visszaadott érték
TRUE
, hogy a gombstílus BS_RADIOBUTTON
vagy BS_AUTORADIOBUTTON
; ellenkező esetben FALSE
.
CMFCButton::IsWindowsThemingEnabled
Azt jelzi, hogy a gombszegély stílusa megfelel-e az aktuális Windows-témának.
static BOOL IsWindowsThemingEnabled();
Visszaadott érték
TRUE
, hogy a gombszegély stílusa megfelel-e az aktuális Windows-témának; ellenkező esetben FALSE
.
CMFCButton::m_bDontUseWinXPTheme
Megadja, hogy Windows XP-témákat használjon-e a gomb rajzolásakor.
BOOL m_bDontUseWinXPTheme;
CMFCButton::m_bDrawFocus
Azt jelzi, hogy egy fókusz téglalapot szeretne-e rajzolni egy gomb köré.
BOOL m_bDrawFocus;
Megjegyzések
Állítsa be a m_bDrawFocus
tagot TRUE
annak megadásához, hogy a keretrendszer egy fókusz téglalapot rajzoljon a gomb szövege és képe köré, ha a gomb fókuszt kap.
A CMFCButton
konstruktor inicializálja ezt a tagot TRUE
.
CMFCButton::m_bGrayDisabled
Ha TRUE
, akkor a letiltott gomb szürkére van rajzolva.
BOOL m_bGrayDisabled;
CMFCButton::m_bHighlightChecked
Azt jelzi, hogy ki kell-e emelni egy BS_CHECKBOX
-style gombot, amikor a kurzor rámutat rá.
BOOL m_bHighlightChecked;
Megjegyzések
Állítsa a m_bHighlightChecked
tagot TRUE
annak megadásához, hogy a keretrendszer kiemeljen egy BS_CHECKBOX
stílusgombot, amikor az egér rá mutat.
CMFCButton::m_bResponseOnButtonDown
Azt jelzi, hogy válaszoljon-e a gombot lenyomó eseményekre.
BOOL m_bResponseOnButtonDown;
CMFCButton::m_bRightImage
Azt jelzi, hogy megjelenít-e egy képet a gomb jobb oldalán.
BOOL m_bRightImage;
CMFCButton::m_bTopImage
Azt jelzi, hogy a kép a gomb tetején van-e.
BOOL m_bTopImage;
Megjegyzések
Állítsa a m_bRightImage
tagot TRUE
annak megadásához, hogy a keretrendszer a gomb szövegfeliratától jobbra jelenítse meg a gomb képét.
CMFCButton::m_bTransparent
Azt jelzi, hogy a gomb átlátszó-e.
BOOL m_bTransparent;
Megjegyzések
Állítsa a m_bTransparent
tagot TRUE
, hogy a keretrendszer transzparenssé tegye a gombot. A CMFCButton
konstruktor inicializálja ezt a tagot FALSE
.
CMFCButton::m_nAlignStyle
A gomb szövegének igazítását adja meg.
AlignStyle m_nAlignStyle;
Megjegyzések
A gomb szövegének igazítását az alábbi CMFCButton::AlignStyle
számbavételi értékek egyikével adhatja meg:
Érték | Leírás |
---|---|
ALIGN_CENTER |
(Alapértelmezett) A gomb szövegének igazítása a gomb közepéhez. |
ALIGN_LEFT |
A gomb szövegének igazítása a gomb bal oldalához. |
ALIGN_RIGHT |
A gomb szövegének igazítása a gomb jobb oldalához. |
A CMFCButton
konstruktor inicializálja ezt a tagot ALIGN_CENTER
.
CMFCButton::m_bWasDblClk
Azt jelzi, hogy az utolsó kattintási esemény dupla kattintás volt-e.
BOOL m_bWasDblClk;
CMFCButton::m_nFlatStyle
Megadja a gomb stílusát, például szegély nélküli, lapos, félig lapos vagy 3D.
FlatStyle m_nFlatStyle;
Megjegyzések
Az alábbi táblázat felsorolja a gomb megjelenését meghatározó CMFCButton::m_nFlatStyle
enumerálási értékeket.
Érték | Leírás |
---|---|
BUTTONSTYLE_3D |
(Alapértelmezett) Úgy tűnik, hogy a gombnak magas, háromdimenziós oldalai vannak. Amikor a gombra kattint, a gomb mély behúzásba kerül. |
BUTTONSTYLE_FLAT |
Ha az egér nem szünetelteti a gombot, úgy tűnik, hogy a gomb kétdimenziós, és nincsenek emelt oldalai. Amikor az egér a gomb fölé áll, úgy tűnik, hogy a gombnak alacsony, háromdimenziós oldalai vannak. Ha a gombra kattint, úgy tűnik, hogy a gombot egy sekély behúzásba kell nyomni. |
BUTTONSTYLE_SEMIFLAT |
Úgy tűnik, hogy a gombnak alacsony, háromdimenziós oldalai vannak. Amikor a gombra kattint, a gomb mély behúzásba kerül. |
BUTTONSTYLE_NOBORDERS |
A gombnak nincsenek emelt oldalai, és mindig kétdimenziósnak tűnik. Úgy tűnik, hogy a gomb kattintáskor nem lesz behúzásba nyomva. |
A CMFCButton
konstruktor inicializálja ezt a tagot BUTTONSTYLE_3D
.
Példa
Az alábbi példa bemutatja, hogyan állíthatja be az m_nFlatStyle
tagváltozó értékeit a CMFCButton
osztályban. Ez a példa az Új vezérlők mintarésze.
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
A keretrendszer meghívta, hogy rajzoljon egy gombot.
virtual void OnDraw(
CDC* pDC,
const CRect& rect,
UINT uiState);
Paraméterek
pDC
[in] Egy eszközkörnyezetre mutató mutató.
rect
[in] Hivatkozás a gombot határoló téglalapra.
uiState
[in] Az aktuális gomb állapota. További információkért lásd a DRAWITEMSTRUCT
Struktúra témakör itemState
tagját.
Megjegyzések
Írja felül ezt a metódust, hogy saját kóddal rajzoljon egy gombot.
CMFCButton::OnDrawBorder
A keretrendszer meghívta, hogy megrajzolja egy gomb szegélyét.
virtual void OnDrawBorder(
CDC* pDC,
CRect& rectClient,
UINT uiState);
Paraméterek
pDC
[in] Egy eszközkörnyezetre mutató mutató.
rectClient
[in] Hivatkozás a gombot határoló téglalapra.
uiState
[in] Az aktuális gomb állapota. További információkért lásd a DRAWITEMSTRUCT
Struktúra témakör itemState
tagját.
Megjegyzések
Bírálja felül ezt a metódust, hogy saját kóddal rajzolja meg a szegélyt.
CMFCButton::OnDrawFocusRect
A keretrendszer meghívta, hogy megrajzolja a fókusz téglalapot egy gombhoz.
virtual void OnDrawFocusRect(
CDC* pDC,
const CRect& rectClient);
Paraméterek
pDC
[in] Egy eszközkörnyezetre mutató mutató.
rectClient
[in] Hivatkozás a gombot határoló téglalapra.
Megjegyzések
Bírálja felül ezt a módszert, hogy saját kóddal rajzolja meg a fókusz téglalapját.
CMFCButton::OnDrawText
A keretrendszer meghívta a gomb szövegének rajzolásához.
virtual void OnDrawText(
CDC* pDC,
const CRect& rect,
const CString& strText,
UINT uiDTFlags,
UINT uiState);
Paraméterek
pDC
[in] Egy eszközkörnyezetre mutató mutató.
rect
[in] Hivatkozás a gombot határoló téglalapra.
strText
[in] A rajzolni kívánt szöveg.
uiDTFlags
[in] A szöveg formázását meghatározó jelzők. További információt a CDC::DrawText
metódus nFormat
paraméterében talál.
uiState
[in] Tartózkodó.
Megjegyzések
Írja felül ezt a metódust, hogy saját kóddal rajzolja meg a gomb szövegét.
CMFCButton::OnFillBackground
A keretrendszer meghívta, hogy megrajzolja a gomb szövegének hátterét.
virtual void OnFillBackground(
CDC* pDC,
const CRect& rectClient);
Paraméterek
pDC
[in] Egy eszközkörnyezetre mutató mutató.
rectClient
[in] Hivatkozás a gombot határoló téglalapra.
Megjegyzések
Bírálja felül ezt a metódust, hogy saját kóddal rajzolja meg egy gomb hátterét.
CMFCButton::SelectFont
Lekéri a megadott eszközkörnyezethez társított betűtípust.
virtual CFont* SelectFont(CDC* pDC);
Paraméterek
pDC
[in] Egy eszközkörnyezetre mutató mutató.
Visszaadott érték
Bírálja felül ezt a metódust, hogy saját kóddal kérje le a betűtípust.
CMFCButton::SetAutorepeatMode
Beállít egy gombot automatikus ismétlési módra.
void SetAutorepeatMode(int nTimeDelay=500);
Paraméterek
nTimeDelay
[in] Nem nemegatív szám, amely a szülőablakba küldött üzenetek közötti időközt adja meg. Az intervallumot ezredmásodpercben méri, alapértelmezett értéke pedig 500 ezredmásodperc. Adjon meg nullát az automatikus ismétlési mód letiltásához.
Megjegyzések
Ez a módszer azt eredményezi, hogy a gomb folyamatosan küld WM_COMMAND
üzeneteket a szülőablakba, amíg a gomb ki nem szabadul, vagy a nTimeDelay
paraméter értéke nulla.
CMFCButton::SetCheckedImage
Bejelölt gomb képének beállítása.
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);
Paraméterek
hIcon
[in] Az új kép bitképét és maszkot tartalmazó ikonjának kezelése.
bAutoDestroy
[in] TRUE
annak megadására, hogy a bitképerőforrások automatikusan megsemmisüljenek; ellenkező esetben FALSE
. Az alapértelmezett érték a TRUE
.
hIconHot
[in] A kijelölt állapot képét tartalmazó ikon kezelése.
hBitmap
[in] Kezelje a nem kijelölt állapot képét tartalmazó bitképet.
hBitmapHot
[in] A kijelölt állapot képét tartalmazó bitkép kezelése.
bMap3dColors
[in] A gombháttér áttetsző színét adja meg; vagyis a gomb arca. az RGB(192, 192, 192, 192) színérték használatára TRUE
; FALSE
a AFX_GLOBAL_DATA::clrBtnFace
által definiált színérték használatára.
uiBmpResId
[in] A nem kijelölt rendszerkép erőforrás-azonosítója.
uiBmpHotResId
[in] A kijelölt kép erőforrás-azonosítója.
hIconDisabled
[in] A letiltott kép ikonjának kezelése.
hBitmapDisabled
[in] Kezelje a letiltott képet tartalmazó bitképet.
uiBmpDsblResID
[in] A letiltott bitkép erőforrás-azonosítója.
bAlphaBlend
[in] TRUE
csak az alfa csatornát használó 32 bites képeket használni; FALSE
, hogy ne csak alfa csatornaképeket használjon. Az alapértelmezett érték a FALSE
.
CMFCButton::SetFaceColor
Beállítja a gomb szövegének háttérszínét.
void SetFaceColor(
COLORREF crFace,
BOOL bRedraw=TRUE);
Paraméterek
crFace
[in] RGB-színérték.
bRedraw
[in] TRUE
a képernyő azonnali újraírásához; ellenkező esetben FALSE
.
Megjegyzések
Ezzel a módszerrel új kitöltési színt határozhat meg a gombháttérhez (archoz). Vegye figyelembe, hogy a háttér nincs kitöltve, ha a CMFCButton::m_bTransparent
tagváltozó TRUE
.
CMFCButton::SetImage
Beállítja a képet egy gombhoz.
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);
Paraméterek
hIcon
[in] Az új kép bitképét és maszkot tartalmazó ikonjának kezelése.
bAutoDestroy
[in] TRUE
annak megadására, hogy a bitképerőforrások automatikusan megsemmisüljenek; ellenkező esetben FALSE
. Az alapértelmezett érték a TRUE
.
hIconHot
[in] A kijelölt állapot képét tartalmazó ikon kezelése.
hBitmap
[in] Kezelje a nem kijelölt állapot képét tartalmazó bitképet.
hBitmapHot
[in] A kijelölt állapot képét tartalmazó bitkép kezelése.
uiBmpResId
[in] A nem kijelölt rendszerkép erőforrás-azonosítója.
uiBmpHotResId
[in] A kijelölt kép erőforrás-azonosítója.
bMap3dColors
[in] A gombháttér áttetsző színét adja meg; vagyis a gomb arca. az RGB(192, 192, 192, 192) színérték használatára TRUE
; FALSE
a AFX_GLOBAL_DATA::clrBtnFace
által definiált színérték használatára.
hIconDisabled
[in] A letiltott kép ikonjának kezelése.
hBitmapDisabled
[in] Kezelje a letiltott képet tartalmazó bitképet.
uiBmpDsblResID
[in] A letiltott bitkép erőforrás-azonosítója.
bAlphaBlend
[in] TRUE
csak az alfa csatornát használó 32 bites képeket használni; FALSE
, hogy ne csak alfa csatornaképeket használjon. Az alapértelmezett érték a FALSE
.
Példa
Az alábbi példa bemutatja, hogyan használható a SetImage
metódus különböző verziói a CMFCButton
osztályban. A példa az Új vezérlők mintarésze.
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
Beállítja a kurzor képét.
void SetMouseCursor(HCURSOR hcursor);
Paraméterek
hcursor
[in] A kurzor fogópontja.
Megjegyzések
Ezzel a módszerrel társíthat egy kurzorképet, például a kézi kurzort a gombhoz. A kurzor betöltődik az alkalmazás erőforrásaiból.
Példa
Az alábbi példa bemutatja, hogyan használható a SetMouseCursor
metódus a CMFCButton
osztályban. A példa az Új vezérlők mintakódjának része.
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
A kurzort egy kéz képére állítja.
void SetMouseCursorHand();
Megjegyzések
Ezzel a módszerrel társíthatja egy kéz kurzorképét a gombhoz. A kurzor betöltődik az alkalmazás erőforrásaiból.
CMFCButton::SetStdImage
Egy CMenuImages
objektummal állítja be a gomb képét.
void SetStdImage(
CMenuImages::IMAGES_IDS id,
CMenuImages::IMAGE_STATE state=CMenuImages::ImageBlack,
CMenuImages::IMAGES_IDS idDisabled=(CMenuImages::IMAGES_IDS)0);
Paraméterek
id
[in] A CMenuImage::IMAGES_IDS
enumerálásban definiált gombkép-azonosítók egyike. A képértékek olyan képeket határoznak meg, mint a nyilak, a kitűzők és a választógombok.
state
[in] Az CMenuImages::IMAGE_STATE
enumerálásban definiált gombképállapot-azonosítók egyike. A képállapotok olyan gombszíneket határoznak meg, mint a fekete, a szürke, a világosszürke, a fehér és a sötétszürke. Az alapértelmezett érték a CMenuImages::ImageBlack
.
idDisabled
[in] A CMenuImage::IMAGES_IDS
enumerálásban definiált gombkép-azonosítók egyike. A kép azt jelzi, hogy a gomb le van tiltva. Az alapértelmezett érték az első gomb képe (CMenuImages::IdArrowDown
).
CMFCButton::SetTextColor
Beállítja a gomb szövegének színét egy olyan gombhoz, amely nincs kijelölve.
void SetTextColor(COLORREF clrText);
Paraméterek
clrText
[in] RGB-színérték.
CMFCButton::SetTextHotColor
A kijelölt gomb szövegének színét állítja be.
void SetTextHotColor(COLORREF clrTextHot);
Paraméterek
clrTextHot
[in] RGB-színérték.
CMFCButton::SetTooltip
Elemleírás társítása egy gombbal.
void SetTooltip(LPCTSTR lpszToolTipText);
Paraméterek
lpszToolTipText
[in] Mutasson az elemleírás szövegére. Adja meg az elemleírás letiltásához NULL
.
CMFCButton::SizeToContent
Átméretez egy gombot, hogy tartalmazza a gomb szövegét és képét.
virtual CSize SizeToContent(BOOL bCalcOnly=FALSE);
Paraméterek
bCalcOnly
[in] TRUE
a gomb új méretének kiszámításához, de nem változtatható meg; FALSE
a gomb méretének módosításához. Az alapértelmezett érték a FALSE
.
Visszaadott érték
Egy CSize
objektum, amely a gomb új méretét tartalmazza.
Megjegyzések
Ez a módszer alapértelmezés szerint egy új méretet számít ki, amely 10 képpontos vízszintes margót és 5 képpontos függőleges margót tartalmaz.
Lásd még:
hierarchiadiagram
osztályok
CMFCLinkCtrl
osztály
CMFCColorButton
osztály
CMFCMenuButton
osztály