Udostępnij za pośrednictwem


CMFCButton Klasa

Klasa CMFCButton dodaje funkcje do CButton klasy, takie jak wyrównanie tekstu przycisku, połączenie tekstu przycisku i obrazu, wybranie kursora i określenie porady narzędzia.

Składnia

class CMFCButton : public CButton

Elementy członkowskie

Konstruktory publiczne

Nazwa/nazwisko opis
CMFCButton::CMFCButton Konstruktor domyślny.
CMFCButton::~CMFCButton Destruktor.

Metody publiczne

Nazwa/nazwisko opis
CMFCButton::CleanUp Resetuje zmienne wewnętrzne i zwalnia przydzielone zasoby, takie jak obrazy, mapy bitowe i ikony.
CMFCButton::CreateObject Używana przez platformę do tworzenia wystąpienia dynamicznego tego typu klasy.
CMFCButton::DrawItem Wywoływana przez platformę, gdy zmieni się wizualny aspekt przycisku rysowanego przez właściciela. (Przesłania CButton::DrawItem).
CMFCButton::EnableFullTextTooltip Określa, czy ma być wyświetlany pełny tekst etykietki narzędzia w dużym oknie etykietki narzędzia, czy obcięta wersja tekstu w małym oknie etykietki narzędzia.
CMFCButton::EnableMenuFont Określa, czy czcionka tekstowa przycisku jest taka sama jak czcionka menu aplikacji.
CMFCButton::EnableWindowsTheming Określa, czy styl obramowania przycisku odpowiada bieżącemu motywowi systemu Windows.
CMFCButton::GetThisClass Używany przez platformę do uzyskiwania wskaźnika do obiektu skojarzonego CRuntimeClass z tym typem klasy.
CMFCButton::GetToolTipCtrl Zwraca odwołanie do bazowej kontrolki etykietki narzędzia.
CMFCButton::IsAutoCheck Wskazuje, czy pole wyboru, czy przycisk radiowy jest przyciskiem automatycznym.
CMFCButton::IsAutorepeatCommandMode Wskazuje, czy przycisk jest ustawiony na tryb automatycznego powtarzania.
CMFCButton::IsCheckBox Wskazuje, czy przycisk jest przyciskiem pola wyboru.
CMFCButton::IsChecked Wskazuje, czy bieżący przycisk jest zaznaczony.
CMFCButton::IsHighlighted Wskazuje, czy przycisk jest wyróżniony.
CMFCButton::IsPressed Wskazuje, czy przycisk jest wypychany i wyróżniony.
CMFCButton::IsPushed Wskazuje, czy przycisk jest wypychany.
CMFCButton::IsRadioButton Wskazuje, czy przycisk jest przyciskiem radiowym.
CMFCButton::IsWindowsThemingEnabled Wskazuje, czy styl obramowania przycisku odpowiada bieżącemu motywowi systemu Windows.
CMFCButton::OnDrawParentBackground Rysuje tło elementu nadrzędnego przycisku w określonym obszarze. (Przesłonięcia) AFX_GLOBAL_DATA::DrawParentBackground
CMFCButton::PreTranslateMessage Tłumaczy komunikaty okien przed ich wysłaniem do TranslateMessage funkcji systemu i DispatchMessage Windows. (Przesłania CWnd::PreTranslateMessage).
CMFCButton::SetAutorepeatMode Ustawia przycisk w trybie automatycznego powtarzania.
CMFCButton::SetCheckedImage Ustawia obraz dla zaznaczonego przycisku.
CMFCButton::SetFaceColor Ustawia kolor tła tekstu przycisku.
CMFCButton::SetImage Ustawia obraz przycisku.
CMFCButton::SetMouseCursor Ustawia obraz kursora.
CMFCButton::SetMouseCursorHand Ustawia kursor na obraz dłoni.
CMFCButton::SetStdImage CMenuImages Używa obiektu do ustawiania obrazu przycisku.
CMFCButton::SetTextColor Ustawia kolor tekstu przycisku dla przycisku, który nie jest zaznaczony.
CMFCButton::SetTextHotColor Ustawia kolor tekstu przycisku dla wybranego przycisku.
CMFCButton::SetTooltip Kojarzy etykietkę narzędzia z przyciskiem.
CMFCButton::SizeToContent Zmienia rozmiar przycisku, aby zawierał tekst i obraz przycisku.

Metody chronione

Nazwa/nazwisko opis
CMFCButton::OnDraw Wywoływana przez strukturę w celu narysowania przycisku.
CMFCButton::OnDrawBorder Wywoływana przez strukturę w celu narysowania obramowania przycisku.
CMFCButton::OnDrawFocusRect Wywoływana przez strukturę w celu narysowania prostokąta fokusu dla przycisku.
CMFCButton::OnDrawText Wywoływana przez strukturę w celu narysowania tekstu przycisku.
CMFCButton::OnFillBackground Wywoływana przez strukturę w celu narysowania tła tekstu przycisku.
CMFCButton::SelectFont Pobiera czcionkę skojarzona z określonym kontekstem urządzenia.

Składowe danych

Nazwa/nazwisko opis
CMFCButton::m_nAlignStyle Określa wyrównanie tekstu przycisku.
CMFCButton::m_bDontUseWinXPTheme Określa, czy używać motywów systemu Windows XP.
CMFCButton::m_bDrawFocus Wskazuje, czy narysować prostokąt fokusu wokół przycisku.
CMFCButton::m_nFlatStyle Określa styl przycisku, na przykład bez obramowania, płaskie, półpłatne lub 3D.
CMFCButton::m_bGrayDisabled Gdy wartość TRUE, włącza narysowany przycisk wyłączony jako wyszaryzowany.
CMFCButton::m_bHighlightChecked Wskazuje, czy należy wyróżnić przycisk w stylu BS_CHECKBOX po umieszczeniu kursora na nim kursora.
CMFCButton::m_bResponseOnButtonDown Wskazuje, czy należy reagować na zdarzenia przycisku w dół.
CMFCButton::m_bRightImage Wskazuje, czy obraz ma być wyświetlany po prawej stronie przycisku.
CMFCButton::m_bTopImage Wskazuje, czy obraz znajduje się na górze przycisku.
CMFCButton::m_bTransparent Wskazuje, czy przycisk jest przezroczysty.
CMFCButton::m_bWasDblClk Wskazuje, czy zdarzenie ostatniego kliknięcia było dwukrotnym kliknięciem.

Uwagi

Inne typy przycisków pochodzą z CMFCButton klasy, takiej jak CMFCURLLinkButton klasa, która obsługuje hiperlinki, oraz CMFCColorButton klasę, która obsługuje okno dialogowe selektora kolorów.

Styl CMFCButton obiektu może mieć 3Dwartość , flatsemi-flat lub no border. Tekst przycisku można wyrównać do lewej, górnej lub środkowej części przycisku. W czasie wykonywania możesz kontrolować, czy przycisk wyświetla tekst, obraz, czy tekst i obraz. Można również określić, że określony obraz kursora ma być wyświetlany, gdy kursor zostanie zatrzymany na przycisku.

Utwórz kontrolkę przycisku bezpośrednio w kodzie lub przy użyciu narzędzia Kreator klas MFC i szablonu okna dialogowego. Jeśli utworzysz kontrolkę przycisku bezpośrednio, dodaj zmienną CMFCButton do aplikacji, a następnie wywołaj konstruktor i Create metody CMFCButton obiektu. Jeśli używasz Kreatora klas MFC, dodaj zmienną CButton do aplikacji, a następnie zmień typ zmiennej z CButton na CMFCButton.

Aby obsługiwać komunikaty powiadomień w aplikacji okna dialogowego, dodaj wpis mapy komunikatów i procedurę obsługi zdarzeń dla każdego powiadomienia. Powiadomienia wysyłane przez CMFCButton obiekt są takie same jak powiadomienia wysyłane przez CButton obiekt.

Przykład

W poniższym przykładzie pokazano, jak skonfigurować właściwości przycisku przy użyciu różnych metod w CMFCButton klasie. Przykład jest częścią przykładu Nowe kontrolki.

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

Hierarchia dziedziczenia

CObject

CCmdTarget

CWnd

CButton

CMFCButton

Wymagania

Nagłówek: afxbutton.h

CMFCButton::CleanUp

Resetuje zmienne wewnętrzne i zwalnia przydzielone zasoby, takie jak obrazy, mapy bitowe i ikony.

virtual void CleanUp();

CMFCButton::EnableFullTextTooltip

Określa, czy ma być wyświetlany pełny tekst etykietki narzędzia w dużym oknie etykietki narzędzia, czy obcięta wersja tekstu w małym oknie etykietki narzędzia.

void EnableFullTextTooltip(BOOL bOn=TRUE);

Parametry

bOn
[in] TRUE aby wyświetlić cały tekst; FALSE aby wyświetlić obcięty tekst.

Uwagi

CMFCButton::EnableMenuFont

Określa, czy czcionka tekstowa przycisku jest taka sama jak czcionka menu aplikacji.

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

Parametry

bOn
[in] TRUE aby użyć czcionki menu aplikacji jako czcionki tekstowej przycisku; FALSE aby użyć czcionki systemowej. Wartość domyślna to TRUE.

bRedraw
[in] TRUE aby natychmiast ponownie narysować ekran; w przeciwnym razie, FALSE. Wartość domyślna to TRUE.

Uwagi

Jeśli nie używasz tej metody do określenia czcionki tekstowej przycisku, możesz określić czcionkę za pomocą CWnd::SetFont metody . Jeśli w ogóle nie określisz czcionki, platforma ustawi czcionkę domyślną.

CMFCButton::EnableWindowsTheming

Określa, czy styl obramowania przycisku odpowiada bieżącemu motywowi systemu Windows.

static void EnableWindowsTheming(BOOL bEnable = TRUE);

Parametry

bEnable
[in] TRUE aby użyć bieżącego motywu systemu Windows do rysowania obramowań przycisków; FALSE aby nie używać motywu systemu Windows. Wartość domyślna to TRUE.

Uwagi

Ta metoda ma wpływ na wszystkie przyciski w aplikacji, które pochodzą z CMFCButton klasy .

CMFCButton::GetToolTipCtrl

Zwraca odwołanie do bazowej kontrolki etykietki narzędzia.

CToolTipCtrl& GetToolTipCtrl();

Wartość zwracana

Odwołanie do bazowej kontrolki etykietki narzędzia.

Uwagi

CMFCButton::IsAutoCheck

Wskazuje, czy pole wyboru, czy przycisk radiowy jest przyciskiem automatycznym.

BOOL IsAutoCheck() const;

Wartość zwracana

TRUE jeśli przycisk ma styl BS_AUTOCHECKBOX lub BS_AUTORADIOBUTTON; w przeciwnym razie FALSE.

Uwagi

CMFCButton::IsAutorepeatCommandMode

Wskazuje, czy przycisk jest ustawiony na tryb automatycznego powtarzania.

BOOL IsAutorepeatCommandMode() const;

Wartość zwracana

TRUE jeśli przycisk jest ustawiony na tryb automatycznego powtarzania; w przeciwnym razie, FALSE.

Uwagi

CMFCButton::SetAutorepeatMode Użyj metody , aby ustawić przycisk w trybie automatycznego powtarzania.

CMFCButton::IsCheckBox

Wskazuje, czy przycisk jest przyciskiem pola wyboru.

BOOL IsCheckBox() const;

Wartość zwracana

TRUE jeśli przycisk ma albo BS_CHECKBOX BS_AUTOCHECKBOX styl; w przeciwnym razie FALSE.

Uwagi

CMFCButton::IsChecked

Wskazuje, czy bieżący przycisk jest zaznaczony.

BOOL IsChecked() const;

Wartość zwracana

TRUE jeśli bieżący przycisk jest zaznaczony; w przeciwnym razie, FALSE.

Uwagi

Platforma używa różnych sposobów wskazywania, że sprawdzane są różne rodzaje przycisków. Na przykład przycisk radiowy jest sprawdzany, gdy zawiera kropkę; pole wyboru jest zaznaczone, gdy zawiera element X.

CMFCButton::IsHighlighted

Wskazuje, czy przycisk jest wyróżniony.

BOOL IsHighlighted() const;

Wartość zwracana

TRUE jeśli przycisk jest wyróżniony; w przeciwnym razie, FALSE.

Uwagi

Przycisk staje się wyróżniony po umieszczeniu wskaźnika myszy na przycisku.

CMFCButton::IsPressed

Wskazuje, czy przycisk jest wypychany i wyróżniony.

BOOL IsPressed() const;

Wartość zwracana

TRUE jeśli przycisk jest naciśnięty; w przeciwnym razie, FALSE.

Uwagi

CMFCButton::IsPushed

Wskazuje, czy przycisk jest wypychany.

BOOL IsPushed() const;

Wartość zwracana

TRUE jeśli przycisk jest wypchnięty; w przeciwnym razie, FALSE.

Uwagi

CMFCButton::IsRadioButton

Wskazuje, czy przycisk jest przyciskiem radiowym.

BOOL IsRadioButton() const;

Wartość zwracana

TRUE jeśli styl przycisku to BS_RADIOBUTTON lub BS_AUTORADIOBUTTON; w przeciwnym razie FALSE.

Uwagi

CMFCButton::IsWindowsThemingEnabled

Wskazuje, czy styl obramowania przycisku odpowiada bieżącemu motywowi systemu Windows.

static BOOL IsWindowsThemingEnabled();

Wartość zwracana

TRUE jeśli styl obramowania przycisku odpowiada bieżącemu motywowi systemu Windows; w przeciwnym razie, FALSE.

CMFCButton::m_bDontUseWinXPTheme

Określa, czy podczas rysowania przycisku mają być używane motywy systemu Windows XP.

BOOL m_bDontUseWinXPTheme;

CMFCButton::m_bDrawFocus

Wskazuje, czy narysować prostokąt fokusu wokół przycisku.

BOOL m_bDrawFocus;

Uwagi

Ustaw element członkowski m_bDrawFocus , aby TRUE określić, że struktura narysuje prostokąt fokusu wokół tekstu i obrazu przycisku, jeśli przycisk otrzyma fokus.

Konstruktor inicjuje CMFCButton ten element członkowski na .TRUE

CMFCButton::m_bGrayDisabled

Gdy TRUEparametr umożliwia narysowywanie wyłączonego przycisku jako wyszarygodzonego.

BOOL m_bGrayDisabled;

CMFCButton::m_bHighlightChecked

Wskazuje, czy można wyróżnić BS_CHECKBOXprzycisk stylu po umieszczeniu kursora na nim kursora.

BOOL m_bHighlightChecked;

Uwagi

Ustaw element członkowski m_bHighlightChecked , aby TRUE określić, że struktura będzie wyróżniać BS_CHECKBOXprzycisk -style po umieszczeniu kursora myszy na nim.

CMFCButton::m_bResponseOnButtonDown

Wskazuje, czy należy reagować na zdarzenia przycisku w dół.

BOOL m_bResponseOnButtonDown;

CMFCButton::m_bRightImage

Wskazuje, czy obraz ma być wyświetlany po prawej stronie przycisku.

BOOL m_bRightImage;

CMFCButton::m_bTopImage](#m_bTopImage)

Wskazuje, czy obraz znajduje się na górze przycisku.

BOOL m_bTopImage;

Uwagi

Ustaw element członkowski m_bRightImage , aby TRUE określić, że struktura będzie wyświetlać obraz przycisku po prawej stronie etykiety tekstowej przycisku.

CMFCButton::m_bTransparent

Wskazuje, czy przycisk jest przezroczysty.

BOOL m_bTransparent;

Uwagi

Ustaw element członkowski m_bTransparent , aby TRUE określić, że struktura sprawi, że przycisk będzie przezroczysty. Konstruktor inicjuje CMFCButton ten element członkowski na .FALSE

CMFCButton::m_nAlignStyle

Określa wyrównanie tekstu przycisku.

AlignStyle m_nAlignStyle;

Uwagi

Użyj jednej z następujących CMFCButton::AlignStyle wartości wyliczenia, aby określić wyrównanie tekstu przycisku:

Wartość Opis
ALIGN_CENTER (Ustawienie domyślne) Wyrównuje tekst przycisku do środka przycisku.
ALIGN_LEFT Wyrównuje tekst przycisku do lewej strony przycisku.
ALIGN_RIGHT Wyrównuje tekst przycisku do prawej strony przycisku.

Konstruktor inicjuje CMFCButton ten element członkowski na .ALIGN_CENTER

CMFCButton::m_bWasDblClk](#m_bWasDblClk)|

Wskazuje, czy zdarzenie ostatniego kliknięcia było dwukrotnym kliknięciem.|

BOOL m_bWasDblClk;

CMFCButton::m_nFlatStyle

Określa styl przycisku, na przykład bez obramowania, płaskie, półpłatne lub 3D.

FlatStyle  m_nFlatStyle;

Uwagi

W poniższej tabeli wymieniono CMFCButton::m_nFlatStyle wartości wyliczenia, które określają wygląd przycisku.

Wartość Opis
BUTTONSTYLE_3D (Ustawienie domyślne) Przycisk wydaje się mieć wysokie, trójwymiarowe boki. Po kliknięciu przycisku zostanie wyświetlony przycisk, który zostanie przyciśnięty do głębokiego wcięcia.
BUTTONSTYLE_FLAT Gdy mysz nie wstrzymuje przycisku, przycisk wydaje się być dwuwymiarowy i nie ma podniesionych boków. Gdy mysz wstrzymuje się nad przyciskiem, przycisk wydaje się mieć małe, trójwymiarowe boki. Po kliknięciu przycisku przycisk wydaje się być naciskany na płytkie wcięcie.
BUTTONSTYLE_SEMIFLAT Przycisk wydaje się mieć małe, trójwymiarowe boki. Po kliknięciu przycisku zostanie wyświetlony przycisk, który zostanie przyciśnięty do głębokiego wcięcia.
BUTTONSTYLE_NOBORDERS Przycisk nie ma podniesionych boków i zawsze pojawia się dwuwymiarowy. Po kliknięciu przycisku nie można nacisnąć wcięcie.

Konstruktor inicjuje CMFCButton ten element członkowski na .BUTTONSTYLE_3D

Przykład

W poniższym przykładzie pokazano, jak ustawić wartości zmiennej m_nFlatStyle składowej w CMFCButton klasie. Ten przykład jest częścią przykładu Nowe kontrolki.

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

Wywoływana przez strukturę w celu narysowania przycisku.

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

Parametry

pDC
[in] Wskaźnik do kontekstu urządzenia.

rect
[in] Odwołanie do prostokąta powiązanego z przyciskiem .

uiState
[in] Bieżący stan przycisku. Aby uzyskać więcej informacji, zobacz itemState element członkowski tematu DRAWITEMSTRUCT Struktura .

Uwagi

Zastąpij tę metodę, aby użyć własnego kodu, aby narysować przycisk.

CMFCButton::OnDrawBorder

Wywoływana przez strukturę w celu narysowania obramowania przycisku.

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

Parametry

pDC
[in] Wskaźnik do kontekstu urządzenia.

rectClient
[in] Odwołanie do prostokąta powiązanego z przyciskiem .

uiState
[in] Bieżący stan przycisku. Aby uzyskać więcej informacji, zobacz itemState element członkowski tematu DRAWITEMSTRUCT Struktura .

Uwagi

Zastąpij tę metodę, aby użyć własnego kodu w celu narysowania obramowania.

CMFCButton::OnDrawFocusRect

Wywoływana przez strukturę w celu narysowania prostokąta fokusu dla przycisku.

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

Parametry

pDC
[in] Wskaźnik do kontekstu urządzenia.

rectClient
[in] Odwołanie do prostokąta powiązanego z przyciskiem .

Uwagi

Zastąpij tę metodę, aby użyć własnego kodu, aby narysować prostokąt fokusu.

CMFCButton::OnDrawText

Wywoływana przez strukturę w celu narysowania tekstu przycisku.

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

Parametry

pDC
[in] Wskaźnik do kontekstu urządzenia.

rect
[in] Odwołanie do prostokąta powiązanego z przyciskiem .

strText
[in] Tekst do rysowania.

uiDTFlags
[in] Flagi określające sposób formatowania tekstu. Aby uzyskać więcej informacji, zobacz nFormat parametr CDC::DrawText metody .

uiState
[in] Zastrzeżony.

Uwagi

Zastąpij tę metodę, aby użyć własnego kodu, aby narysować tekst przycisku.

CMFCButton::OnFillBackground

Wywoływana przez strukturę w celu narysowania tła tekstu przycisku.

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

Parametry

pDC
[in] Wskaźnik do kontekstu urządzenia.

rectClient
[in] Odwołanie do prostokąta powiązanego z przyciskiem .

Uwagi

Zastąpij tę metodę, aby użyć własnego kodu, aby narysować tło przycisku.

CMFCButton::SelectFont

Pobiera czcionkę skojarzona z określonym kontekstem urządzenia.

virtual CFont* SelectFont(CDC* pDC);

Parametry

pDC
[in] Wskaźnik do kontekstu urządzenia.

Wartość zwracana

Zastąpij tę metodę, aby użyć własnego kodu w celu pobrania czcionki.

Uwagi

CMFCButton::SetAutorepeatMode

Ustawia przycisk w trybie automatycznego powtarzania.

void SetAutorepeatMode(int nTimeDelay=500);

Parametry

nTimeDelay
[in] Nienegacyjny numer określający interwał między komunikatami wysyłanymi do okna nadrzędnego. Interwał jest mierzony w milisekundach, a jego wartość domyślna to 500 milisekund. Określ zero, aby wyłączyć tryb automatycznego powtarzania komunikatów.

Uwagi

Ta metoda powoduje, że przycisk stale wysyła WM_COMMAND komunikaty do okna nadrzędnego do momentu zwolnienia przycisku lub nTimeDelay parametr jest ustawiony na zero.

CMFCButton::SetCheckedImage

Ustawia obraz dla zaznaczonego przycisku.

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
[in] Dojdź do ikony zawierającej mapę bitową i maskę dla nowego obrazu.

bAutoDestroy
[in] TRUE aby określić, że zasoby mapy bitowej są niszczone automatycznie; w przeciwnym razie, FALSE. Wartość domyślna to TRUE.

hIconHot
[in] Dojmij do ikony zawierającej obraz dla wybranego stanu.

hBitmap
[in] Dojście do mapy bitowej zawierającej obraz dla nie wybranego stanu.

hBitmapHot
[in] Dojście do mapy bitowej zawierającej obraz dla wybranego stanu.

bMap3dColors
[in] Określa przezroczysty kolor tła przycisku; oznacza to, że twarz przycisku. TRUE aby użyć wartości koloru RGB (192, 192, 192); FALSE aby użyć wartości koloru zdefiniowanej przez AFX_GLOBAL_DATA::clrBtnFace.

uiBmpResId
[in] Identyfikator zasobu dla obrazu, który nie został wybrany.

uiBmpHotResId
[in] Identyfikator zasobu dla wybranego obrazu.

hIconDisabled
[in] Dojmij do ikony wyłączonego obrazu.

hBitmapDisabled
[in] Dojście do mapy bitowej zawierającej wyłączony obraz.

uiBmpDsblResID
[in] Identyfikator zasobu wyłączonej mapy bitowej.

bAlphaBlend
[in] TRUE używać tylko 32-bitowych obrazów korzystających z kanału alfa; FALSE, aby nie używać tylko obrazów kanałów alfa. Wartość domyślna to FALSE.

Uwagi

CMFCButton::SetFaceColor

Ustawia kolor tła tekstu przycisku.

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

Parametry

crFace
[in] Wartość koloru RGB.

bRedraw
[in] TRUE aby od razu ponownie narysować ekran; w przeciwnym razie, FALSE.

Uwagi

Użyj tej metody, aby zdefiniować nowy kolor wypełnienia dla tła przycisku (twarzy). Pamiętaj, że tło nie jest wypełnione, gdy zmienna CMFCButton::m_bTransparent składowa to TRUE.

CMFCButton::SetImage

Ustawia obraz przycisku.

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
[in] Dojdź do ikony zawierającej mapę bitową i maskę dla nowego obrazu.

bAutoDestroy
[in] TRUE aby określić, że zasoby mapy bitowej są niszczone automatycznie; w przeciwnym razie, FALSE. Wartość domyślna to TRUE.

hIconHot
[in] Dojmij do ikony zawierającej obraz dla wybranego stanu.

hBitmap
[in] Dojście do mapy bitowej zawierającej obraz dla nie wybranego stanu.

hBitmapHot
[in] Dojście do mapy bitowej zawierającej obraz dla wybranego stanu.

uiBmpResId
[in] Identyfikator zasobu dla obrazu, który nie został wybrany.

uiBmpHotResId
[in] Identyfikator zasobu dla wybranego obrazu.

bMap3dColors
[in] Określa przezroczysty kolor tła przycisku; oznacza to, że twarz przycisku. TRUE aby użyć wartości koloru RGB (192, 192, 192); FALSE aby użyć wartości koloru zdefiniowanej przez AFX_GLOBAL_DATA::clrBtnFace.

hIconDisabled
[in] Dojmij do ikony wyłączonego obrazu.

hBitmapDisabled
[in] Dojście do mapy bitowej zawierającej wyłączony obraz.

uiBmpDsblResID
[in] Identyfikator zasobu wyłączonej mapy bitowej.

bAlphaBlend
[in] TRUE używać tylko 32-bitowych obrazów korzystających z kanału alfa; FALSE, aby nie używać tylko obrazów kanałów alfa. Wartość domyślna to FALSE.

Uwagi

Przykład

W poniższym przykładzie pokazano, jak używać różnych wersji SetImage metody w CMFCButton klasie . Przykład jest częścią przykładu Nowe kontrolki.

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

Ustawia obraz kursora.

void SetMouseCursor(HCURSOR hcursor);

Parametry

hcursor
[in] Uchwyt kursora.

Uwagi

Użyj tej metody, aby skojarzyć obraz kursora, taki jak kursor dłoni, z przyciskiem . Kursor jest ładowany z zasobów aplikacji.

Przykład

W poniższym przykładzie pokazano, jak używać SetMouseCursor metody w CMFCButton klasie . Przykład jest częścią kodu w przykładzie Nowe kontrolki.

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

Ustawia kursor na obraz dłoni.

void SetMouseCursorHand();

Uwagi

Użyj tej metody, aby skojarzyć obraz kursora ręki z przyciskiem . Kursor jest ładowany z zasobów aplikacji.

CMFCButton::SetStdImage

CMenuImages Używa obiektu do ustawiania obrazu przycisku.

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

Parametry

id
[in] Jeden z identyfikatorów obrazu przycisku zdefiniowanych w wyliczeniem CMenuImage::IMAGES_IDS . Wartości obrazu określają obrazy, takie jak strzałki, pinezki i przyciski radiowe.

state
[in] Jeden z identyfikatorów stanu obrazu przycisku zdefiniowanych w wyliczeniem CMenuImages::IMAGE_STATE . Stany obrazu określają kolory przycisków, takie jak, szary, jasnoszary, biały i ciemnoszary. Domyślna wartość to CMenuImages::ImageBlack.

idDisabled
[in] Jeden z identyfikatorów obrazu przycisku zdefiniowanych w wyliczeniem CMenuImage::IMAGES_IDS . Obraz wskazuje, że przycisk jest wyłączony. Wartość domyślna to pierwszy obraz przycisku ( CMenuImages::IdArrowDown).

Uwagi

CMFCButton::SetTextColor

Ustawia kolor tekstu przycisku dla przycisku, który nie jest zaznaczony.

void SetTextColor(COLORREF clrText);

Parametry

clrText
[in] Wartość koloru RGB.

Uwagi

CMFCButton::SetTextHotColor

Ustawia kolor tekstu przycisku dla wybranego przycisku.

void SetTextHotColor(COLORREF clrTextHot);

Parametry

clrTextHot
[in] Wartość koloru RGB.

Uwagi

CMFCButton::SetTooltip

Kojarzy etykietkę narzędzia z przyciskiem.

void SetTooltip(LPCTSTR lpszToolTipText);

Parametry

lpszToolTipText
[in] Wskaźnik do tekstu etykietki narzędzia. Określ NULL , aby wyłączyć etykietkę narzędzia.

Uwagi

CMFCButton::SizeToContent

Zmienia rozmiar przycisku, aby zawierał tekst i obraz przycisku.

virtual CSize SizeToContent(BOOL bCalcOnly=FALSE);

Parametry

bCalcOnly
[in] TRUE aby obliczyć, ale nie zmienić, nowy rozmiar przycisku; FALSE aby zmienić rozmiar przycisku. Wartość domyślna to FALSE.

Wartość zwracana

CSize Obiekt, który zawiera nowy rozmiar przycisku.

Uwagi

Domyślnie ta metoda oblicza nowy rozmiar, który zawiera margines poziomy 10 pikseli i pionowy margines 5 pikseli.

Zobacz też

Wykres hierarchii
Klasy
CMFCLinkCtrl Klasa
CMFCColorButton Klasa
CMFCMenuButton Klasa