Dela via


CMFCButton-klass

Klassen CMFCButton lägger till funktioner i klassen CButton som att justera knapptext, kombinera knapptext och en bild, välja en markör och ange ett verktygstips.

Syntax

class CMFCButton : public CButton

Medlemmar

Offentliga konstruktorer

Namn Beskrivning
CMFCButton::CMFCButton Standardkonstruktor.
CMFCButton::~CMFCButton Destructor.

Offentliga metoder

Namn Beskrivning
CMFCButton::CleanUp Återställer interna variabler och frigör allokerade resurser, till exempel bilder, bitmappar och ikoner.
CMFCButton::CreateObject Används av ramverket för att skapa en dynamisk instans av den här klasstypen.
CMFCButton::DrawItem Anropas av ramverket när en visuell aspekt av en ägarritad knapp har ändrats. (Åsidosätter CButton::DrawItem.)
CMFCButton::EnableFullTextTooltip Anger om du vill visa den fullständiga texten i en knappbeskrivning i ett stort knappbeskrivningsfönster eller en trunkerad version av texten i ett litet knappbeskrivningsfönster.
CMFCButton::EnableMenuFont Anger om knapptextens teckensnitt är samma som teckensnittet på programmenyn.
CMFCButton::EnableWindowsTheming Anger om knappkantlinjens format motsvarar det aktuella Windows-temat.
CMFCButton::GetThisClass Används av ramverket för att hämta en pekare till det CRuntimeClass objekt som är associerat med den här klasstypen.
CMFCButton::GetToolTipCtrl Returnerar en referens till den underliggande knappbeskrivningskontrollen.
CMFCButton::IsAutoCheck Anger om en kryssruta eller en alternativknapp är en automatisk knapp.
CMFCButton::IsAutorepeatCommandMode Anger om en knapp är inställd på automatiskt upprepat läge.
CMFCButton::IsCheckBox Anger om en knapp är en kryssruta.
CMFCButton::IsChecked Anger om den aktuella knappen är markerad.
CMFCButton::IsHighlighted Anger om en knapp är markerad.
CMFCButton::IsPressed Anger om en knapp trycks och markeras.
CMFCButton::IsPushed Anger om en knapp skickas.
CMFCButton::IsRadioButton Anger om en knapp är en alternativknapp.
CMFCButton::IsWindowsThemingEnabled Anger om knappkantlinjens format motsvarar det aktuella Windows-temat.
CMFCButton::OnDrawParentBackground Ritar bakgrunden till en knapps överordnade i det angivna området. (Åsidosätter AFX_GLOBAL_DATA::DrawParentBackground.)
CMFCButton::PreTranslateMessage Översätter fönstermeddelanden innan de skickas till funktionerna TranslateMessage och DispatchMessage Windows. (Åsidosätter CWnd::PreTranslateMessage.)
CMFCButton::SetAutorepeatMode Anger en knapp till automatiskt upprepat läge.
CMFCButton::SetCheckedImage Anger bilden för en markerad knapp.
CMFCButton::SetFaceColor Anger bakgrundsfärgen för knapptexten.
CMFCButton::SetImage Anger bilden för en knapp.
CMFCButton::SetMouseCursor Anger markörbilden.
CMFCButton::SetMouseCursorHand Anger markören till en handbild.
CMFCButton::SetStdImage Använder ett CMenuImages objekt för att ange knappbilden.
CMFCButton::SetTextColor Anger färgen på knapptexten för en knapp som inte är markerad.
CMFCButton::SetTextHotColor Anger färgen på knapptexten för en knapp som är markerad.
CMFCButton::SetTooltip Associerar en knappbeskrivning med en knapp.
CMFCButton::SizeToContent Ändrar storlek på en knapp så att den innehåller dess knapptext och bild.

Skyddade metoder

Namn Beskrivning
CMFCButton::OnDraw Anropas av ramverket för att rita en knapp.
CMFCButton::OnDrawBorder Anropas av ramverket för att rita kantlinjen för en knapp.
CMFCButton::OnDrawFocusRect Anropas av ramverket för att rita fokusrektangeln för en knapp.
CMFCButton::OnDrawText Anropas av ramverket för att rita knapptexten.
CMFCButton::OnFillBackground Anropas av ramverket för att rita bakgrunden av knapptexten.
CMFCButton::SelectFont Hämtar teckensnittet som är associerat med den angivna enhetskontexten.

Datamedlemmar

Namn Beskrivning
CMFCButton::m_nAlignStyle Anger justeringen av knapptexten.
CMFCButton::m_bDontUseWinXPTheme Anger om du vill använda Windows XP-teman.
CMFCButton::m_bDrawFocus Anger om en fokusrektangel ska ritas runt en knapp.
CMFCButton::m_nFlatStyle Anger stilen på knappen, till exempel kantlös, platt, halvplatta eller 3D.
CMFCButton::m_bGrayDisabled När TRUEkan en inaktiverad knapp ritas som nedtonad.
CMFCButton::m_bHighlightChecked Anger om du vill markera en BS_CHECKBOX-style-knapp när markören hovrar över den.
CMFCButton::m_bResponseOnButtonDown Anger om du vill svara på nedtryckningshändelser.
CMFCButton::m_bRightImage Anger om en bild ska visas till höger om knappen.
CMFCButton::m_bTopImage Anger om bilden finns ovanpå knappen.
CMFCButton::m_bTransparent Anger om knappen är transparent.
CMFCButton::m_bWasDblClk Anger om den senaste klickhändelsen var ett dubbelklicka.

Anmärkningar

Andra typer av knappar härleds från klassen CMFCButton, till exempel klassen CMFCURLLinkButton, som stöder hyperlänkar och klassen CMFCColorButton, som stöder en dialogruta för färgväljare.

Formatet för ett CMFCButton-objekt kan vara 3D, flat, semi-flat eller no border. Knapptexten kan justeras till vänster, överst eller i mitten av en knapp. Vid körning kan du styra om knappen visar text, en bild eller text och en bild. Du kan också ange att en viss markörbild ska visas när markören hovrar över en knapp.

Skapa en knappkontroll antingen direkt i koden eller med hjälp av MFC-klassguiden-verktyget och en dialogrutemall. Om du skapar en knappkontroll direkt lägger du till en CMFCButton variabel i ditt program och anropar sedan konstruktorn och Create metoderna för CMFCButton-objektet. Om du använder MFC-klassguidenlägger du till en CButton-variabel i ditt program och ändrar sedan variabeltypen från CButton till CMFCButton.

Om du vill hantera meddelanden i ett dialogruteprogram lägger du till en post för meddelandekarta och en händelsehanterare för varje meddelande. Meddelandena som skickas av ett CMFCButton-objekt är desamma som de som skickas av ett CButton objekt.

Exempel

I följande exempel visas hur du konfigurerar knappens egenskaper med hjälp av olika metoder i klassen CMFCButton. Exemplet är en del av exemplet Nya kontroller.

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!"));

Arvshierarki

CObject

CCmdTarget

CWnd

CButton

CMFCButton

Krav

rubrik:afxbutton.h

CMFCButton::CleanUp

Återställer interna variabler och frigör allokerade resurser, till exempel bilder, bitmappar och ikoner.

virtual void CleanUp();

CMFCButton::EnableFullTextTooltip

Anger om du vill visa den fullständiga texten i en knappbeskrivning i ett stort knappbeskrivningsfönster eller en trunkerad version av texten i ett litet knappbeskrivningsfönster.

void EnableFullTextTooltip(BOOL bOn=TRUE);

Parametrar

bOn
[i] TRUE för att visa all text; FALSE för att visa trunkerad text.

CMFCButton::EnableMenuFont

Anger om knapptextens teckensnitt är samma som teckensnittet på programmenyn.

void EnableMenuFont(
    BOOL bOn=TRUE,
    BOOL bRedraw=TRUE);

Parametrar

bOn
[i] TRUE att använda teckensnittet på programmenyn som knapptextteckensnitt. FALSE att använda systemteckensnittet. Standardvärdet är TRUE.

bRedraw
[i] TRUE att omedelbart rita om skärmen; annars FALSE. Standardvärdet är TRUE.

Anmärkningar

Om du inte använder den här metoden för att ange knapptextteckensnittet kan du ange teckensnittet med metoden CWnd::SetFont. Om du inte anger något teckensnitt alls anger ramverket ett standardteckensnitt.

CMFCButton::EnableWindowsTheming

Anger om knappkantlinjens format motsvarar det aktuella Windows-temat.

static void EnableWindowsTheming(BOOL bEnable = TRUE);

Parametrar

bEnable
[i] TRUE att använda det aktuella Windows-temat för att rita knappkantlinjer. FALSE att inte använda Windows-temat. Standardvärdet är TRUE.

Anmärkningar

Den här metoden påverkar alla knappar i ditt program som härleds från klassen CMFCButton.

CMFCButton::GetToolTipCtrl

Returnerar en referens till den underliggande knappbeskrivningskontrollen.

CToolTipCtrl& GetToolTipCtrl();

Returvärde

En referens till den underliggande knappbeskrivningskontrollen.

CMFCButton::IsAutoCheck

Anger om en kryssruta eller en alternativknapp är en automatisk knapp.

BOOL IsAutoCheck() const;

Returvärde

TRUE om knappen har formatmallen BS_AUTOCHECKBOX eller BS_AUTORADIOBUTTON; annars FALSE.

CMFCButton::IsAutorepeatCommandMode

Anger om en knapp är inställd på automatiskt upprepat läge.

BOOL IsAutorepeatCommandMode() const;

Returvärde

TRUE om knappen är inställd på autorepetitionsläge. annars FALSE.

Anmärkningar

Använd metoden CMFCButton::SetAutorepeatMode för att ange en knapp till läget för automatisk upprepning.

CMFCButton::IsCheckBox

Anger om en knapp är en kryssruta.

BOOL IsCheckBox() const;

Returvärde

TRUE om knappen har antingen BS_CHECKBOX eller BS_AUTOCHECKBOX formatmall. annars FALSE.

CMFCButton::IsChecked

Anger om den aktuella knappen är markerad.

BOOL IsChecked() const;

Returvärde

TRUE om den aktuella knappen är markerad. annars FALSE.

Anmärkningar

Ramverket använder olika sätt att ange att olika typer av knappar kontrolleras. Till exempel kontrolleras en alternativknapp när den innehåller en punkt. en kryssruta är markerad när den innehåller en X.

CMFCButton::IsHighlighted

Anger om en knapp är markerad.

BOOL IsHighlighted() const;

Returvärde

TRUE om knappen är markerad. annars FALSE.

Anmärkningar

En knapp markeras när musen hovrar över knappen.

CMFCButton::IsPressed

Anger om en knapp trycks och markeras.

BOOL IsPressed() const;

Returvärde

TRUE om knappen trycks på; annars FALSE.

CMFCButton::IsPushed

Anger om en knapp skickas.

BOOL IsPushed() const;

Returvärde

TRUE om knappen trycks på; annars FALSE.

CMFCButton::IsRadioButton

Anger om en knapp är en alternativknapp.

BOOL IsRadioButton() const;

Returvärde

TRUE om knappformatet är BS_RADIOBUTTON eller BS_AUTORADIOBUTTON; annars FALSE.

CMFCButton::IsWindowsThemingEnabled

Anger om knappkantlinjens format motsvarar det aktuella Windows-temat.

static BOOL IsWindowsThemingEnabled();

Returvärde

TRUE om knappkantlinjens format motsvarar det aktuella Windows-temat. annars FALSE.

CMFCButton::m_bDontUseWinXPTheme

Anger om du vill använda Windows XP-teman när du ritar knappen.

BOOL m_bDontUseWinXPTheme;

CMFCButton::m_bDrawFocus

Anger om en fokusrektangel ska ritas runt en knapp.

BOOL m_bDrawFocus;

Anmärkningar

Ange m_bDrawFocus medlem till TRUE för att ange att ramverket ska rita en fokusrektangel runt knappens text och bild om knappen får fokus.

Konstruktorn CMFCButton initierar den här medlemmen till TRUE.

CMFCButton::m_bGrayDisabled

När TRUEkan en inaktiverad knapp ritas som nedtonad.

BOOL m_bGrayDisabled;

CMFCButton::m_bHighlightChecked

Anger om du vill markera en BS_CHECKBOX-style-knapp när markören hovrar över den.

BOOL m_bHighlightChecked;

Anmärkningar

Ange m_bHighlightChecked medlem till TRUE för att ange att ramverket ska markera en BS_CHECKBOX-style-knapp när musen hovrar över den.

CMFCButton::m_bResponseOnButtonDown

Anger om du vill svara på nedtryckningshändelser.

BOOL m_bResponseOnButtonDown;

CMFCButton::m_bRightImage

Anger om en bild ska visas till höger om knappen.

BOOL m_bRightImage;

CMFCButton::m_bTopImage

Anger om bilden finns ovanpå knappen.

BOOL m_bTopImage;

Anmärkningar

Ange m_bRightImage medlem till TRUE för att ange att ramverket ska visa knappens bild till höger om knappens textetikett.

CMFCButton::m_bTransparent

Anger om knappen är transparent.

BOOL m_bTransparent;

Anmärkningar

Ange m_bTransparent medlem till TRUE för att ange att ramverket ska göra knappen transparent. Konstruktorn CMFCButton initierar den här medlemmen till FALSE.

CMFCButton::m_nAlignStyle

Anger justeringen av knapptexten.

AlignStyle m_nAlignStyle;

Anmärkningar

Använd något av följande CMFCButton::AlignStyle uppräkningsvärden för att ange justeringen av knapptexten:

Värde Beskrivning
ALIGN_CENTER (Standard) Justerar knapptexten till mitten av knappen.
ALIGN_LEFT Justerar knapptexten till vänster om knappen.
ALIGN_RIGHT Justerar knapptexten till höger om knappen.

Konstruktorn CMFCButton initierar den här medlemmen till ALIGN_CENTER.

CMFCButton::m_bWasDblClk

Anger om den senaste klickhändelsen var ett dubbelklicka.

BOOL m_bWasDblClk;

CMFCButton::m_nFlatStyle

Anger stilen på knappen, till exempel kantlös, platt, halvplatta eller 3D.

FlatStyle m_nFlatStyle;

Anmärkningar

I följande tabell visas de CMFCButton::m_nFlatStyle uppräkningsvärden som anger utseendet på en knapp.

Värde Beskrivning
BUTTONSTYLE_3D (Standard) Knappen verkar ha höga, tredimensionella sidor. När du klickar på knappen verkar knappen vara nedtryckt i ett djupt indrag.
BUTTONSTYLE_FLAT När musen inte pausar över knappen verkar knappen vara tvådimensionell och har inte upphöjda sidor. När musen pausar över knappen verkar knappen ha låga, tredimensionella sidor. När du klickar på knappen verkar knappen vara nedtryckt i ett grunt indrag.
BUTTONSTYLE_SEMIFLAT Knappen verkar ha låga, tredimensionella sidor. När du klickar på knappen verkar knappen vara nedtryckt i ett djupt indrag.
BUTTONSTYLE_NOBORDERS Knappen har inte upphöjda sidor och visas alltid tvådimensionell. Knappen verkar inte vara nedtryckt i ett indrag när den klickas.

Konstruktorn CMFCButton initierar den här medlemmen till BUTTONSTYLE_3D.

Exempel

I följande exempel visas hur du anger värdena för m_nFlatStyle medlemsvariabeln i klassen CMFCButton. Det här exemplet är en del av exemplet Nya kontroller.

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

Anropas av ramverket för att rita en knapp.

virtual void OnDraw(
    CDC* pDC,
    const CRect& rect,
    UINT uiState);

Parametrar

pDC
[i] En pekare till en enhetskontext.

rect
[i] En referens till en rektangel som begränsar knappen.

uiState
[i] Aktuellt knapptillstånd. Mer information finns i avsnittet itemState medlem i DRAWITEMSTRUCT Structure.

Anmärkningar

Åsidosätt den här metoden om du vill använda din egen kod för att rita en knapp.

CMFCButton::OnDrawBorder

Anropas av ramverket för att rita kantlinjen för en knapp.

virtual void OnDrawBorder(
    CDC* pDC,
    CRect& rectClient,
    UINT uiState);

Parametrar

pDC
[i] En pekare till en enhetskontext.

rectClient
[i] En referens till en rektangel som begränsar knappen.

uiState
[i] Aktuellt knapptillstånd. Mer information finns i avsnittet itemState medlem i DRAWITEMSTRUCT Structure.

Anmärkningar

Åsidosätt den här metoden om du vill använda din egen kod för att rita kantlinjen.

CMFCButton::OnDrawFocusRect

Anropas av ramverket för att rita fokusrektangeln för en knapp.

virtual void OnDrawFocusRect(
    CDC* pDC,
    const CRect& rectClient);

Parametrar

pDC
[i] En pekare till en enhetskontext.

rectClient
[i] En referens till en rektangel som begränsar knappen.

Anmärkningar

Åsidosätt den här metoden om du vill använda din egen kod för att rita fokusrektangeln.

CMFCButton::OnDrawText

Anropas av ramverket för att rita knapptexten.

virtual void OnDrawText(
    CDC* pDC,
    const CRect& rect,
    const CString& strText,
    UINT uiDTFlags,
    UINT uiState);

Parametrar

pDC
[i] En pekare till en enhetskontext.

rect
[i] En referens till en rektangel som begränsar knappen.

strText
[i] Texten som ska ritas.

uiDTFlags
[i] Flaggor som anger hur texten ska formateras. Mer information finns i parametern nFormat för metoden CDC::DrawText.

uiState
[i] Reserverad.

Anmärkningar

Åsidosätt den här metoden om du vill använda din egen kod för att rita knapptexten.

CMFCButton::OnFillBackground

Anropas av ramverket för att rita bakgrunden av knapptexten.

virtual void OnFillBackground(
    CDC* pDC,
    const CRect& rectClient);

Parametrar

pDC
[i] En pekare till en enhetskontext.

rectClient
[i] En referens till en rektangel som begränsar knappen.

Anmärkningar

Åsidosätt den här metoden om du vill använda din egen kod för att rita bakgrunden till en knapp.

CMFCButton::SelectFont

Hämtar teckensnittet som är associerat med den angivna enhetskontexten.

virtual CFont* SelectFont(CDC* pDC);

Parametrar

pDC
[i] En pekare till en enhetskontext.

Returvärde

Åsidosätt den här metoden om du vill använda din egen kod för att hämta teckensnittet.

CMFCButton::SetAutorepeatMode

Anger en knapp till automatiskt upprepat läge.

void SetAutorepeatMode(int nTimeDelay=500);

Parametrar

nTimeDelay
[i] Ett icke-administrativt tal som anger intervallet mellan meddelanden som skickas till det överordnade fönstret. Intervallet mäts i millisekunder och standardvärdet är 500 millisekunder. Ange noll för att inaktivera automatiskt upprepa meddelandeläge.

Anmärkningar

Den här metoden gör att knappen hela tiden skickar WM_COMMAND meddelanden till det överordnade fönstret tills knappen släpps, eller så är parametern nTimeDelay inställd på noll.

CMFCButton::SetCheckedImage

Anger bilden för en markerad knapp.

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);

Parametrar

hIcon
[i] Hantera till ikonen som innehåller bitmappen och masken för den nya bilden.

bAutoDestroy
[i] TRUE för att ange att bitmappsresurser ska förstöras automatiskt. annars FALSE. Standardvärdet är TRUE.

hIconHot
[i] Hantera till ikonen som innehåller bilden för det valda tillståndet.

hBitmap
[i] Hantera till bitmappen som innehåller avbildningen för det icke-valda tillståndet.

hBitmapHot
[i] Hantera bitmappen som innehåller avbildningen för det valda tillståndet.

bMap3dColors
[i] Anger en transparent färg för knappbakgrunden. det vill: knappens ansikte. TRUE att använda färgvärdet RGB(192, 192, 192); FALSE att använda det färgvärde som definieras av AFX_GLOBAL_DATA::clrBtnFace.

uiBmpResId
[i] Resurs-ID för den icke-valda avbildningen.

uiBmpHotResId
[i] Resurs-ID för den valda bilden.

hIconDisabled
[i] Hantera till ikonen för den inaktiverade bilden.

hBitmapDisabled
[i] Hantera bitmappen som innehåller den inaktiverade avbildningen.

uiBmpDsblResID
[i] Resurs-ID för den inaktiverade bitmappen.

bAlphaBlend
[i] TRUE att endast använda 32-bitars bilder som använder alfakanalen. FALSE, för att inte bara använda alfakanalbilder. Standardvärdet är FALSE.

CMFCButton::SetFaceColor

Anger bakgrundsfärgen för knapptexten.

void SetFaceColor(
    COLORREF crFace,
    BOOL bRedraw=TRUE);

Parametrar

crFace
[i] Ett RGB-färgvärde.

bRedraw
[i] TRUE att rita om skärmen omedelbart; annars FALSE.

Anmärkningar

Använd den här metoden för att definiera en ny fyllningsfärg för knappbakgrunden (ansiktet). Observera att bakgrunden inte fylls i när CMFCButton::m_bTransparent medlemsvariabeln TRUE.

CMFCButton::SetImage

Anger bilden för en knapp.

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);

Parametrar

hIcon
[i] Hantera till ikonen som innehåller bitmappen och masken för den nya bilden.

bAutoDestroy
[i] TRUE för att ange att bitmappsresurser ska förstöras automatiskt. annars FALSE. Standardvärdet är TRUE.

hIconHot
[i] Hantera till ikonen som innehåller bilden för det valda tillståndet.

hBitmap
[i] Hantera till bitmappen som innehåller avbildningen för det icke-valda tillståndet.

hBitmapHot
[i] Hantera bitmappen som innehåller avbildningen för det valda tillståndet.

uiBmpResId
[i] Resurs-ID för den icke-valda avbildningen.

uiBmpHotResId
[i] Resurs-ID för den valda bilden.

bMap3dColors
[i] Anger en transparent färg för knappbakgrunden. det vill: knappens ansikte. TRUE att använda färgvärdet RGB(192, 192, 192); FALSE att använda det färgvärde som definieras av AFX_GLOBAL_DATA::clrBtnFace.

hIconDisabled
[i] Hantera till ikonen för den inaktiverade bilden.

hBitmapDisabled
[i] Hantera bitmappen som innehåller den inaktiverade avbildningen.

uiBmpDsblResID
[i] Resurs-ID för den inaktiverade bitmappen.

bAlphaBlend
[i] TRUE att endast använda 32-bitars bilder som använder alfakanalen. FALSE, för att inte bara använda alfakanalbilder. Standardvärdet är FALSE.

Exempel

I följande exempel visas hur du använder olika versioner av metoden SetImage i klassen CMFCButton. Exemplet är en del av exemplet Nya kontroller.

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

Anger markörbilden.

void SetMouseCursor(HCURSOR hcursor);

Parametrar

hcursor
[i] Handtaget för en markör.

Anmärkningar

Använd den här metoden för att associera en markörbild, till exempel handmarkören, med knappen. Markören läses in från programresurserna.

Exempel

I följande exempel visas hur du använder metoden SetMouseCursor i klassen CMFCButton. Exemplet är en del av koden i exemplet Nya kontroller.

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

Anger markören till en handbild.

void SetMouseCursorHand();

Anmärkningar

Använd den här metoden för att associera markörens bild av en hand med knappen. Markören läses in från programresurserna.

CMFCButton::SetStdImage

Använder ett CMenuImages objekt för att ange knappbilden.

void SetStdImage(
    CMenuImages::IMAGES_IDS id,
    CMenuImages::IMAGE_STATE state=CMenuImages::ImageBlack,
    CMenuImages::IMAGES_IDS idDisabled=(CMenuImages::IMAGES_IDS)0);

Parametrar

id
[i] En av de knappbildsidentifierare som definieras i CMenuImage::IMAGES_IDS uppräkning. Bildvärdena anger bilder som pilar, stift och alternativknappar.

state
[i] En av de knappbildstillståndsidentifierare som definieras i CMenuImages::IMAGE_STATE uppräkning. Bildtillstånden anger knappfärger som svart, grå, ljusgrå, vit och mörkgrå. Standardvärdet är CMenuImages::ImageBlack.

idDisabled
[i] En av de knappbildsidentifierare som definieras i CMenuImage::IMAGES_IDS uppräkning. Bilden anger att knappen är inaktiverad. Standardvärdet är den första knappbilden (CMenuImages::IdArrowDown).

CMFCButton::SetTextColor

Anger färgen på knapptexten för en knapp som inte är markerad.

void SetTextColor(COLORREF clrText);

Parametrar

clrText
[i] Ett RGB-färgvärde.

CMFCButton::SetTextHotColor

Anger färgen på knapptexten för en knapp som är markerad.

void SetTextHotColor(COLORREF clrTextHot);

Parametrar

clrTextHot
[i] Ett RGB-färgvärde.

CMFCButton::SetTooltip

Associerar en knappbeskrivning med en knapp.

void SetTooltip(LPCTSTR lpszToolTipText);

Parametrar

lpszToolTipText
[i] Pekare till texten för knappbeskrivningen. Ange NULL för att inaktivera knappbeskrivningen.

CMFCButton::SizeToContent

Ändrar storlek på en knapp så att den innehåller dess knapptext och bild.

virtual CSize SizeToContent(BOOL bCalcOnly=FALSE);

Parametrar

bCalcOnly
[i] TRUE för att beräkna, men inte ändra, knappens nya storlek. FALSE för att ändra knappens storlek. Standardvärdet är FALSE.

Returvärde

Ett CSize objekt som innehåller knappens nya storlek.

Anmärkningar

Som standard beräknar den här metoden en ny storlek som innehåller en vågrät marginal på 10 bildpunkter och en lodrät marginal på 5 bildpunkter.

Se även

hierarkidiagram
klasser
CMFCLinkCtrl klass
CMFCColorButton klass
CMFCMenuButton klass