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
, flat
semi-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à
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_CHECKBOX
pulsante 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_CHECKBOX
pulsante -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