Classe CMFCButton

La CMFCButton classe aggiunge funzionalità alla classe, ad esempio l'allineamento CButton del testo del pulsante, la combinazione di testo del pulsante e un'immagine, la selezione di un cursore e la specifica di una descrizione comando.

Sintassi

class CMFCButton : public CButton

Membri

Costruttori pubblici

Nome Descrizione
CMFCButton::CMFCButton Costruttore predefinito.
CMFCButton::~CMFCButton Distruttore.

Metodi pubblici

Nome Descrizione
CMFCButton::CleanUp Reimposta le variabili interne e libera le risorse allocate, ad esempio immagini, bitmap e icone.
CMFCButton::CreateObject Usato dal framework per creare un'istanza dinamica di questo tipo di classe.
CMFCButton::DrawItem Chiamato dal framework quando un aspetto visivo di un pulsante disegnato dal proprietario è cambiato. Esegue l'override di CButton::DrawItem.
CMFCButton::EnableFullTextTooltip Specifica se visualizzare il testo completo di una descrizione comando in una finestra di descrizione comando di grandi dimensioni o una versione troncata del testo in una piccola finestra della descrizione comando.
CMFCButton::EnableMenuFont Specifica se il tipo di carattere del testo del pulsante corrisponde al tipo di carattere del menu dell'applicazione.
CMFCButton::EnableWindowsTheming Specifica se lo stile del bordo del pulsante corrisponde al tema di Windows corrente.
CMFCButton::GetThisClass Utilizzato dal framework per ottenere un puntatore all'oggetto CRuntimeClass associato a questo tipo di classe.
CMFCButton::GetToolTipCtrl Restituisce un riferimento al controllo descrizione comando sottostante.
CMFCButton::IsAutoCheck Indica se una casella di controllo o un pulsante di opzione è un pulsante automatico.
CMFCButton::IsAutorepeatCommandMode Indica se un pulsante è impostato sulla modalità di ripetizione automatica.
CMFCButton::IsCheckBox Indica se un pulsante è un pulsante della casella di controllo.
CMFCButton::IsChecked Indica se il pulsante corrente è selezionato.
CMFCButton::IsHighlighted Indica se un pulsante è evidenziato.
CMFCButton::IsPressed Indica se un pulsante viene premuto e evidenziato.
CMFCButton::IsPushed Indica se viene premuto un pulsante.
CMFCButton::IsRadioButton Indica se un pulsante è un pulsante di opzione.
CMFCButton::IsWindowsThemingEnabled Indica se lo stile del bordo del pulsante corrisponde al tema di Windows corrente.
CMFCButton::OnDrawParentBackground Disegna lo sfondo dell'elemento padre di un pulsante nell'area specificata. (sostituzioni) AFX_GLOBAL_DATA::DrawParentBackground
CMFCButton::PreTranslateMessage Converte i messaggi della finestra prima che vengano inviati alle TranslateMessage funzioni di e DispatchMessage Windows. Esegue l'override di CWnd::PreTranslateMessage.
CMFCButton::SetAutorepeatMode Imposta un pulsante sulla modalità di ripetizione automatica.
CMFCButton::SetCheckedImage Imposta l'immagine per un pulsante selezionato.
CMFCButton::SetFaceColor Imposta il colore di sfondo per il testo del pulsante.
CMFCButton::SetImage Imposta l'immagine per un pulsante.
CMFCButton::SetMouseCursor Imposta l'immagine del cursore.
CMFCButton::SetMouseCursorHand Imposta il cursore sull'immagine di una mano.
CMFCButton::SetStdImage Usa un CMenuImages oggetto per impostare l'immagine del pulsante.
CMFCButton::SetTextColor Imposta il colore del testo del pulsante per un pulsante non selezionato.
CMFCButton::SetTextHotColor Imposta il colore del testo del pulsante per un pulsante selezionato.
CMFCButton::SetTooltip Associa una descrizione comando a un pulsante.
CMFCButton::SizeToContent Ridimensiona un pulsante per contenere il testo e l'immagine del pulsante.

Metodi protetti

Nome Descrizione
CMFCButton::OnDraw Chiamato dal framework per disegnare un pulsante.
CMFCButton::OnDrawBorder Chiamato dal framework per disegnare il bordo di un pulsante.
CMFCButton::OnDrawFocusRect Chiamato dal framework per disegnare il rettangolo di messa a fuoco per un pulsante.
CMFCButton::OnDrawText Chiamato dal framework per disegnare il testo del pulsante.
CMFCButton::OnFillBackground Chiamato dal framework per disegnare lo sfondo del testo del pulsante.
CMFCButton::SelectFont Recupera il tipo di carattere associato al contesto di dispositivo specificato.

Membri dei dati

Nome Descrizione
CMFCButton::m_nAlignStyle Specifica l'allineamento del testo del pulsante.
CMFCButton::m_bDontUseWinXPTheme Specifica se utilizzare i temi di Windows XP.
CMFCButton::m_bDrawFocus Indica se disegnare un rettangolo di stato attivo intorno a un pulsante.
CMFCButton::m_nFlatStyle Specifica lo stile del pulsante, ad esempio senza bordo, piatto, semi piatto o 3D.
CMFCButton::m_bGrayDisabled Se TRUE, consente di disegnare un pulsante disabilitato come disattivato.
CMFCButton::m_bHighlightChecked Indica se evidenziare un pulsante in stile BS_CHECKBOX quando il cursore passa il puntatore del mouse su di esso.
CMFCButton::m_bResponseOnButtonDown Indica se rispondere agli eventi di pulsante verso il basso.
CMFCButton::m_bRightImage Indica se visualizzare un'immagine sul lato destro del pulsante.
CMFCButton::m_bTopImage Indica se l'immagine si trova sopra il pulsante.
CMFCButton::m_bTransparent Indica se il pulsante è trasparente.
CMFCButton::m_bWasDblClk Indica se l'ultimo evento click è stato un doppio clic.

Osservazioni:

Altri tipi di pulsanti sono derivati dalla classe , ad esempio la CMFCButton CMFCURLLinkButton classe , che supporta i collegamenti ipertestuali e la CMFCColorButton classe , che supporta una finestra di dialogo selezione colori.

Lo stile di un CMFCButton oggetto può essere 3D, flatsemi-flat o no border. Il testo del pulsante può essere allineato a sinistra, in alto o al centro di un pulsante. In fase di esecuzione, è possibile controllare se il pulsante visualizza testo, un'immagine o un testo e un'immagine. È anche possibile specificare che una particolare immagine del cursore venga visualizzata quando il cursore passa il mouse su un pulsante.

Creare un controllo pulsante direttamente nel codice oppure usando lo strumento Creazione guidata classe MFC e un modello di finestra di dialogo. Se si crea direttamente un controllo pulsante, aggiungere una CMFCButton variabile all'applicazione e quindi chiamare il costruttore e Create i metodi dell'oggetto CMFCButton . Se si usa la Creazione guidata classe MFC, aggiungere una CButton variabile all'applicazione e quindi modificare il tipo della variabile da CButton a CMFCButton.

Per gestire i messaggi di notifica in un'applicazione di finestra di dialogo, aggiungere una voce della mappa messaggi e un gestore eventi per ogni notifica. Le notifiche inviate da un CMFCButton oggetto sono uguali a quelle inviate da un CButton oggetto .

Esempio

Nell'esempio seguente viene illustrato come configurare le proprietà del pulsante usando vari metodi nella CMFCButton classe . L'esempio fa parte dell'esempio New Controls.The example is part of the New Controls sample.

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

Gerarchia di ereditarietà

CObject

CCmdTarget

CWnd

CButton

CMFCButton

Requisiti

Intestazione: afxbutton.h

CMFCButton::CleanUp

Reimposta le variabili interne e libera le risorse allocate, ad esempio immagini, bitmap e icone.

virtual void CleanUp();

CMFCButton::EnableFullTextTooltip

Specifica se visualizzare il testo completo di una descrizione comando in una finestra di descrizione comando di grandi dimensioni o una versione troncata del testo in una piccola finestra della descrizione comando.

void EnableFullTextTooltip(BOOL bOn=TRUE);

Parametri

bOn
[in] TRUE per visualizzare tutto il testo; FALSE per visualizzare il testo troncato.

Osservazioni:

CMFCButton::EnableMenuFont

Specifica se il tipo di carattere del testo del pulsante corrisponde al tipo di carattere del menu dell'applicazione.

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

Parametri

bOn
[in] TRUE per utilizzare il tipo di carattere del menu dell'applicazione come carattere di testo del pulsante; FALSE per utilizzare il tipo di carattere di sistema. Il valore predefinito è TRUE.

bRedraw
[in] TRUE per ridisegnare immediatamente lo schermo; in caso contrario, FALSE. Il valore predefinito è TRUE.

Osservazioni:

Se non si utilizza questo metodo per specificare il tipo di carattere di testo del pulsante, è possibile specificare il tipo di carattere con il CWnd::SetFont metodo . Se non si specifica affatto un tipo di carattere, il framework imposta un tipo di carattere predefinito.

CMFCButton::EnableWindowsTheming

Specifica se lo stile del bordo del pulsante corrisponde al tema di Windows corrente.

static void EnableWindowsTheming(BOOL bEnable = TRUE);

Parametri

bEnable
[in] TRUE per utilizzare il tema di Windows corrente per disegnare i bordi dei pulsanti; FALSE per non utilizzare il tema di Windows. Il valore predefinito è TRUE.

Osservazioni:

Questo metodo influisce su tutti i pulsanti dell'applicazione derivati dalla CMFCButton classe .

CMFCButton::GetToolTipCtrl

Restituisce un riferimento al controllo descrizione comando sottostante.

CToolTipCtrl& GetToolTipCtrl();

Valore restituito

Riferimento al controllo descrizione comando sottostante.

Osservazioni:

CMFCButton::IsAutoCheck

Indica se una casella di controllo o un pulsante di opzione è un pulsante automatico.

BOOL IsAutoCheck() const;

Valore restituito

TRUE se il pulsante ha uno stile BS_AUTOCHECKBOX o BS_AUTORADIOBUTTON; in caso contrario, FALSE.

Osservazioni:

CMFCButton::IsAutorepeatCommandMode

Indica se un pulsante è impostato sulla modalità di ripetizione automatica.

BOOL IsAutorepeatCommandMode() const;

Valore restituito

TRUE se il pulsante è impostato sulla modalità di ripetizione automatica; in caso contrario, FALSE.

Osservazioni:

Usare il CMFCButton::SetAutorepeatMode metodo per impostare un pulsante sulla modalità di ripetizione automatica.

CMFCButton::IsCheckBox

Indica se un pulsante è un pulsante della casella di controllo.

BOOL IsCheckBox() const;

Valore restituito

TRUE se il pulsante ha uno stile BS_CHECKBOX o BS_AUTOCHECKBOX ; in caso contrario, FALSE.

Osservazioni:

CMFCButton::IsChecked

Indica se il pulsante corrente è selezionato.

BOOL IsChecked() const;

Valore restituito

TRUE se il pulsante corrente è selezionato; in caso contrario, FALSE.

Osservazioni:

Il framework usa modi diversi per indicare che vengono controllati diversi tipi di pulsanti. Ad esempio, un pulsante di opzione viene controllato quando contiene un punto; una casella di controllo viene selezionata quando contiene un oggetto X.

CMFCButton::IsHighlighted

Indica se un pulsante è evidenziato.

BOOL IsHighlighted() const;

Valore restituito

TRUE se il pulsante è evidenziato; in caso contrario, FALSE.

Osservazioni:

Un pulsante viene evidenziato quando il mouse passa il mouse sul pulsante.

CMFCButton::IsPressed

Indica se un pulsante viene premuto e evidenziato.

BOOL IsPressed() const;

Valore restituito

TRUE se il pulsante viene premuto; in caso contrario, FALSE.

Osservazioni:

CMFCButton::IsPushed

Indica se viene premuto un pulsante.

BOOL IsPushed() const;

Valore restituito

TRUE se il pulsante viene premuto; in caso contrario, FALSE.

Osservazioni:

CMFCButton::IsRadioButton

Indica se un pulsante è un pulsante di opzione.

BOOL IsRadioButton() const;

Valore restituito

TRUE se lo stile del pulsante è BS_RADIOBUTTON o BS_AUTORADIOBUTTON; in caso contrario, FALSE.

Osservazioni:

CMFCButton::IsWindowsThemingEnabled

Indica se lo stile del bordo del pulsante corrisponde al tema di Windows corrente.

static BOOL IsWindowsThemingEnabled();

Valore restituito

TRUE se lo stile del bordo del pulsante corrisponde al tema di Windows corrente; in caso contrario, FALSE.

CMFCButton::m_bDontUseWinXPTheme

Specifica se utilizzare i temi di Windows XP durante il disegno del pulsante.

BOOL m_bDontUseWinXPTheme;

CMFCButton::m_bDrawFocus

Indica se disegnare un rettangolo di stato attivo intorno a un pulsante.

BOOL m_bDrawFocus;

Osservazioni:

Impostare il m_bDrawFocus membro su TRUE per specificare che il framework disegnare un rettangolo di stato attivo intorno al testo e all'immagine del pulsante se il pulsante riceve lo stato attivo.

Il CMFCButton costruttore inizializza questo membro in TRUE.

CMFCButton::m_bGrayDisabled

Quando TRUE, consente di disegnare un pulsante disabilitato come disattivato.

BOOL m_bGrayDisabled;

CMFCButton::m_bHighlightChecked

Indica se evidenziare un BS_CHECKBOXpulsante in stile quando il cursore passa il puntatore del mouse su di esso.

BOOL m_bHighlightChecked;

Osservazioni:

Impostare il m_bHighlightChecked membro su TRUE per specificare che il framework evidenzia un BS_CHECKBOXpulsante -style quando il mouse passa il mouse su di esso.

CMFCButton::m_bResponseOnButtonDown

Indica se rispondere agli eventi di pulsante verso il basso.

BOOL m_bResponseOnButtonDown;

CMFCButton::m_bRightImage

Indica se visualizzare un'immagine sul lato destro del pulsante.

BOOL m_bRightImage;

CMFCButton::m_bTopImage](#m_bTopImage)

Indica se l'immagine si trova sopra il pulsante.

BOOL m_bTopImage;

Osservazioni:

Impostare il m_bRightImage membro su TRUE per specificare che il framework visualizzerà l'immagine del pulsante a destra dell'etichetta di testo del pulsante.

CMFCButton::m_bTransparent

Indica se il pulsante è trasparente.

BOOL m_bTransparent;

Osservazioni:

Impostare il m_bTransparent membro su TRUE per specificare che il framework renderà trasparente il pulsante. Il CMFCButton costruttore inizializza questo membro in FALSE.

CMFCButton::m_nAlignStyle

Specifica l'allineamento del testo del pulsante.

AlignStyle m_nAlignStyle;

Osservazioni:

Utilizzare uno dei valori di enumerazione seguenti CMFCButton::AlignStyle per specificare l'allineamento del testo del pulsante:

valore Descrizione
ALIGN_CENTER (Impostazione predefinita) Allinea il testo del pulsante al centro del pulsante.
ALIGN_LEFT Allinea il testo del pulsante a sinistra del pulsante.
ALIGN_RIGHT Allinea il testo del pulsante a destra del pulsante.

Il CMFCButton costruttore inizializza questo membro in ALIGN_CENTER.

CMFCButton::m_bWasDblClk](#m_bWasDblClk)|

Indica se l'ultimo evento click è stato un doppio clic.|

BOOL m_bWasDblClk;

CMFCButton::m_nFlatStyle

Specifica lo stile del pulsante, ad esempio senza bordo, piatto, semi piatto o 3D.

FlatStyle  m_nFlatStyle;

Osservazioni:

Nella tabella seguente sono elencati i CMFCButton::m_nFlatStyle valori di enumerazione che specificano l'aspetto di un pulsante.

valore Descrizione
BUTTONSTYLE_3D (Impostazione predefinita) Il pulsante sembra avere lati alti e tridimensionali. Quando si fa clic sul pulsante, il pulsante viene premuto in un rientro profondo.
BUTTONSTYLE_FLAT Quando il mouse non si sospende sul pulsante, il pulsante sembra bidimensionale e non ha lati alzati. Quando il mouse si sospende sul pulsante, il pulsante sembra avere lati bassi e tridimensionali. Quando si fa clic sul pulsante, il pulsante viene premuto in un rientro superficiale.
BUTTONSTYLE_SEMIFLAT Il pulsante sembra avere lati bassi e tridimensionali. Quando si fa clic sul pulsante, il pulsante viene premuto in un rientro profondo.
BUTTONSTYLE_NOBORDERS Il pulsante non ha lati alzati e appare sempre bidimensionale. Il pulsante non sembra essere premuto in un rientro quando viene fatto clic.

Il CMFCButton costruttore inizializza questo membro in BUTTONSTYLE_3D.

Esempio

Nell'esempio seguente viene illustrato come impostare i valori della m_nFlatStyle variabile membro nella CMFCButton classe . Questo esempio fa parte dell'esempio New Controls.This example is part of the New Controls sample.

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

Chiamato dal framework per disegnare un pulsante.

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

Parametri

pDC
[in] Puntatore a un contesto di dispositivo.

rect
[in] Riferimento a un rettangolo che delimita il pulsante.

uiState
[in] Stato del pulsante corrente. Per altre informazioni, vedere il itemState membro dell'argomento DRAWITEMSTRUCT Structure .

Osservazioni:

Eseguire l'override di questo metodo per usare il proprio codice per disegnare un pulsante.

CMFCButton::OnDrawBorder

Chiamato dal framework per disegnare il bordo di un pulsante.

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

Parametri

pDC
[in] Puntatore a un contesto di dispositivo.

rectClient
[in] Riferimento a un rettangolo che delimita il pulsante.

uiState
[in] Stato del pulsante corrente. Per altre informazioni, vedere il itemState membro dell'argomento DRAWITEMSTRUCT Structure .

Osservazioni:

Eseguire l'override di questo metodo per usare il codice personalizzato per disegnare il bordo.

CMFCButton::OnDrawFocusRect

Chiamato dal framework per disegnare il rettangolo di messa a fuoco per un pulsante.

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

Parametri

pDC
[in] Puntatore a un contesto di dispositivo.

rectClient
[in] Riferimento a un rettangolo che delimita il pulsante.

Osservazioni:

Eseguire l'override di questo metodo per usare il proprio codice per disegnare il rettangolo dello stato attivo.

CMFCButton::OnDrawText

Chiamato dal framework per disegnare il testo del pulsante.

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

Parametri

pDC
[in] Puntatore a un contesto di dispositivo.

rect
[in] Riferimento a un rettangolo che delimita il pulsante.

strText
[in] Testo da disegnare.

uiDTFlags
[in] Flag che specificano come formattare il testo. Per altre informazioni, vedere il nFormat parametro del CDC::DrawText metodo .

uiState
[in] Riservato.

Osservazioni:

Eseguire l'override di questo metodo per usare il codice personalizzato per disegnare il testo del pulsante.

CMFCButton::OnFillBackground

Chiamato dal framework per disegnare lo sfondo del testo del pulsante.

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

Parametri

pDC
[in] Puntatore a un contesto di dispositivo.

rectClient
[in] Riferimento a un rettangolo che delimita il pulsante.

Osservazioni:

Eseguire l'override di questo metodo per usare il codice personalizzato per disegnare lo sfondo di un pulsante.

CMFCButton::SelectFont

Recupera il tipo di carattere associato al contesto di dispositivo specificato.

virtual CFont* SelectFont(CDC* pDC);

Parametri

pDC
[in] Puntatore a un contesto di dispositivo.

Valore restituito

Eseguire l'override di questo metodo per usare il codice personalizzato per recuperare il tipo di carattere.

Osservazioni:

CMFCButton::SetAutorepeatMode

Imposta un pulsante sulla modalità di ripetizione automatica.

void SetAutorepeatMode(int nTimeDelay=500);

Parametri

nTimeDelay
[in] Numero non negativo che specifica l'intervallo tra i messaggi inviati alla finestra padre. L'intervallo viene misurato in millisecondi e il valore predefinito è 500 millisecondi. Specificare zero per disabilitare la modalità messaggio di ripetizione automatica.

Osservazioni:

Questo metodo fa sì che il pulsante invii WM_COMMAND costantemente messaggi alla finestra padre fino al rilascio del pulsante o che il nTimeDelay parametro sia impostato su zero.

CMFCButton::SetCheckedImage

Imposta l'immagine per un pulsante selezionato.

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

Parametri

hIcon
[in] Handle per l'icona che contiene la bitmap e la maschera per la nuova immagine.

bAutoDestroy
[in] TRUE per specificare che le risorse bitmap vengono eliminate automaticamente; in caso contrario, FALSE. Il valore predefinito è TRUE.

hIconHot
[in] Handle per l'icona che contiene l'immagine per lo stato selezionato.

hBitmap
[in] Handle per la bitmap che contiene l'immagine per lo stato non selezionato.

hBitmapHot
[in] Handle per la bitmap che contiene l'immagine per lo stato selezionato.

bMap3dColors
[in] Specifica un colore trasparente per lo sfondo del pulsante; ovvero il viso del pulsante. TRUE per utilizzare il valore di colore RGB(192, 192, 192); FALSE per utilizzare il valore di colore definito da AFX_GLOBAL_DATA::clrBtnFace.

uiBmpResId
[in] ID risorsa per l'immagine non selezionata.

uiBmpHotResId
[in] ID risorsa per l'immagine selezionata.

hIconDisabled
[in] Handle per l'icona per l'immagine disabilitata.

hBitmapDisabled
[in] Handle per la bitmap che contiene l'immagine disabilitata.

uiBmpDsblResID
[in] ID risorsa della bitmap disabilitata.

bAlphaBlend
[in] TRUE per usare solo immagini a 32 bit che usano il canale alfa; FALSE, per non usare solo immagini del canale alfa. Il valore predefinito è FALSE.

Osservazioni:

CMFCButton::SetFaceColor

Imposta il colore di sfondo per il testo del pulsante.

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

Parametri

crFace
[in] Valore di colore RGB.

bRedraw
[in] TRUE per ridisegnare immediatamente lo schermo; in caso contrario, FALSE.

Osservazioni:

Utilizzare questo metodo per definire un nuovo colore di riempimento per lo sfondo del pulsante (viso). Si noti che lo sfondo non viene riempito quando la CMFCButton::m_bTransparent variabile membro è TRUE.

CMFCButton::SetImage

Imposta l'immagine per un pulsante.

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

Parametri

hIcon
[in] Handle per l'icona che contiene la bitmap e la maschera per la nuova immagine.

bAutoDestroy
[in] TRUE per specificare che le risorse bitmap vengono eliminate automaticamente; in caso contrario, FALSE. Il valore predefinito è TRUE.

hIconHot
[in] Handle per l'icona che contiene l'immagine per lo stato selezionato.

hBitmap
[in] Handle per la bitmap che contiene l'immagine per lo stato non selezionato.

hBitmapHot
[in] Handle per la bitmap che contiene l'immagine per lo stato selezionato.

uiBmpResId
[in] ID risorsa per l'immagine non selezionata.

uiBmpHotResId
[in] ID risorsa per l'immagine selezionata.

bMap3dColors
[in] Specifica un colore trasparente per lo sfondo del pulsante; ovvero il viso del pulsante. TRUE per utilizzare il valore di colore RGB(192, 192, 192); FALSE per utilizzare il valore di colore definito da AFX_GLOBAL_DATA::clrBtnFace.

hIconDisabled
[in] Handle per l'icona per l'immagine disabilitata.

hBitmapDisabled
[in] Handle per la bitmap che contiene l'immagine disabilitata.

uiBmpDsblResID
[in] ID risorsa della bitmap disabilitata.

bAlphaBlend
[in] TRUE per usare solo immagini a 32 bit che usano il canale alfa; FALSE, per non usare solo immagini del canale alfa. Il valore predefinito è FALSE.

Osservazioni:

Esempio

Nell'esempio seguente viene illustrato come usare diverse versioni del SetImage metodo nella CMFCButton classe . L'esempio fa parte dell'esempio New Controls.The example is part of the New Controls sample.

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

Imposta l'immagine del cursore.

void SetMouseCursor(HCURSOR hcursor);

Parametri

hcursor
[in] Handle di un cursore.

Osservazioni:

Utilizzare questo metodo per associare un'immagine del cursore, ad esempio il cursore della mano, al pulsante. Il cursore viene caricato dalle risorse dell'applicazione.

Esempio

Nell'esempio seguente viene illustrato come usare il SetMouseCursor metodo nella CMFCButton classe . L'esempio fa parte del codice nell'esempio New Controls.

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

Imposta il cursore sull'immagine di una mano.

void SetMouseCursorHand();

Osservazioni:

Utilizzare questo metodo per associare l'immagine del cursore di una mano al pulsante. Il cursore viene caricato dalle risorse dell'applicazione.

CMFCButton::SetStdImage

Usa un CMenuImages oggetto per impostare l'immagine del pulsante.

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

Parametri

id
[in] Uno degli identificatori di immagine del pulsante definiti nell'enumerazione CMenuImage::IMAGES_IDS . I valori dell'immagine specificano immagini come frecce, pin e pulsanti di opzione.

state
[in] Uno degli identificatori dello stato dell'immagine del pulsante definiti nell'enumerazione CMenuImages::IMAGE_STATE . Gli stati dell'immagine specificano i colori del pulsante, ad esempio nero, grigio chiaro, bianco e grigio scuro. Il valore predefinito è CMenuImages::ImageBlack.

idDisabled
[in] Uno degli identificatori di immagine del pulsante definiti nell'enumerazione CMenuImage::IMAGES_IDS . L'immagine indica che il pulsante è disabilitato. Il valore predefinito è la prima immagine del pulsante ( CMenuImages::IdArrowDown).

Osservazioni:

CMFCButton::SetTextColor

Imposta il colore del testo del pulsante per un pulsante non selezionato.

void SetTextColor(COLORREF clrText);

Parametri

clrText
[in] Valore di colore RGB.

Osservazioni:

CMFCButton::SetTextHotColor

Imposta il colore del testo del pulsante per un pulsante selezionato.

void SetTextHotColor(COLORREF clrTextHot);

Parametri

clrTextHot
[in] Valore di colore RGB.

Osservazioni:

CMFCButton::SetTooltip

Associa una descrizione comando a un pulsante.

void SetTooltip(LPCTSTR lpszToolTipText);

Parametri

lpszToolTipText
[in] Puntatore al testo per la descrizione comando. Specificare NULL per disabilitare la descrizione comando.

Osservazioni:

CMFCButton::SizeToContent

Ridimensiona un pulsante per contenere il testo e l'immagine del pulsante.

virtual CSize SizeToContent(BOOL bCalcOnly=FALSE);

Parametri

bCalcOnly
[in] TRUE per calcolare, ma non modificare, le nuove dimensioni del pulsante; FALSE per modificare le dimensioni del pulsante. Il valore predefinito è FALSE.

Valore restituito

Oggetto CSize che contiene le nuove dimensioni del pulsante.

Osservazioni:

Per impostazione predefinita, questo metodo calcola una nuova dimensione che include un margine orizzontale di 10 pixel e un margine verticale di 5 pixel.

Vedi anche

Grafico della gerarchia
Classi
CMFCLinkCtrl Classe
CMFCColorButton Classe
CMFCMenuButton Classe