Classe CMFCDropDownToolbarButton
Tipo di pulsante della barra degli strumenti che, quando viene selezionato, si comporta come un pulsante normale. Tuttavia, apre una barra degli strumenti a discesa ( CLASSE CMFCDropDownToolBar se l'utente preme e tiene premuto il pulsante della barra degli strumenti.
Sintassi
class CMFCDropDownToolbarButton : public CMFCToolBarButton
Membri
Costruttori pubblici
Nome | Descrizione |
---|---|
CMFCDropDownToolbarButton::CMFCDropDownToolbarButton | Costruisce un oggetto CMFCDropDownToolbarButton . |
CMFCDropDownToolbarButton::~CMFCDropDownToolbarButton |
Distruttore. |
Metodi pubblici
Nome | Descrizione |
---|---|
CMFCDropDownToolbarButton::CopyFrom | Copia le proprietà di un altro pulsante della barra degli strumenti nel pulsante corrente. (sostituzioni )CMFCToolBarButton::CopyFrom. |
CMFCDropDownToolbarButton::CreateObject |
Usato dal framework per creare un'istanza dinamica di questo tipo di classe. |
CMFCDropDownToolbarButton::D ropDownToolbar | Apre una barra degli strumenti a discesa. |
CMFCDropDownToolbarButton::ExportToMenuButton | Copia il testo dal pulsante della barra degli strumenti a un menu. (sostituzioni )CMFCToolBarButton::ExportToMenuButton. |
CMFCDropDownToolbarButton::GetDropDownToolBar | Recupera la barra degli strumenti a discesa associata al pulsante. |
CMFCDropDownToolbarButton::GetThisClass |
Usato dal framework per ottenere un puntatore all'oggetto CRuntimeClass associato a questo tipo di classe. |
CMFCDropDownToolbarButton::IsDropDown | Determina se la barra degli strumenti a discesa è attualmente aperta. |
CMFCDropDownToolbarButton::IsExtraSize | Determina se il pulsante può essere visualizzato con un bordo esteso. (sostituzioni )CMFCToolBarButton::IsExtraSize. |
CMFCDropDownToolbarButton::OnCalculateSize | Chiamato dal framework per calcolare le dimensioni del pulsante per il contesto di dispositivo e lo stato di ancoraggio specificati. (sostituzioni )CMFCToolBarButton::OnCalculateSize. |
CMFCDropDownToolbarButton::OnCancelMode |
Chiamato dal framework per gestire il messaggio di WM_CANCELMODE . Esegue l'override di CMCToolBarButton::OnCancelMode . |
CMFCDropDownToolbarButton::OnChangeParentWnd | Chiamato dal framework quando il pulsante viene inserito in una nuova barra degli strumenti. (sostituzioni )CMFCToolBarButton::OnChangeParentWnd. |
CMFCDropDownToolbarButton::OnClick | Chiamato dal framework quando l'utente fa clic sul pulsante del mouse. (sostituzioni )CMFCToolBarButton::OnClick. |
CMFCDropDownToolbarButton::OnClickUp | Chiamato dal framework quando l'utente rilascia il pulsante del mouse. (sostituzioni )CMFCToolBarButton::OnClickUp. |
CMFCDropDownToolbarButton::OnContextHelp | Chiamato dal framework quando la barra degli strumenti padre gestisce un messaggio di WM_HELPHITTEST. (sostituzioni )CMFCToolBarButton::OnContextHelp. |
CMFCDropDownToolbarButton::OnCustomizeMenu | Modifica il menu fornito quando l'applicazione visualizza un menu di scelta rapida sulla barra degli strumenti padre. (sostituzioni )CMFCToolBarButton::OnCustomizeMenu. |
CMFCDropDownToolbarButton::OnDraw | Chiamato dal framework per disegnare il pulsante usando gli stili e le opzioni specificati. (sostituzioni )CMFCToolBarButton::OnDraw. |
CMFCDropDownToolbarButton::OnDrawOnCustomizeList | Chiamato dal framework per disegnare il pulsante nel riquadro Comandi della finestra di dialogo Personalizza . (sostituzioni )CMFCToolBarButton::OnDrawOnCustomizeList. |
CMFCDropDownToolbarButton::Serialize | Legge questo oggetto da un archivio o lo scrive in un archivio. (sostituzioni )CMFCToolBarButton::Serialize. |
CMFCDropDownToolbarButton::SetDefaultCommand | Imposta il comando predefinito utilizzato dal framework quando un utente fa clic sul pulsante. |
Membri dei dati
Nome | Descrizione |
---|---|
CMFCDropDownToolbarButton::m_uiShowBarDelay | Specifica il periodo di tempo in cui un utente deve tenere premuto il pulsante del mouse prima che venga visualizzata la barra degli strumenti a discesa. |
Osservazioni:
Un CMFCDropDownToolBarButton
oggetto differisce da un pulsante ordinario in quanto ha una piccola freccia nell'angolo inferiore destro del pulsante. Dopo che l'utente seleziona un pulsante dalla barra degli strumenti a discesa, il framework visualizza l'icona sul pulsante della barra degli strumenti di primo livello (il pulsante con la piccola freccia nell'angolo in basso a destra).
Per informazioni su come implementare una barra degli strumenti a discesa, vedere Classe CMFCDropDownToolBar.
L'oggetto CMFCDropDownToolBarButton
può essere esportato in un oggetto Classe CMFCToolBarMenuButton e visualizzato come pulsante di menu con un menu a comparsa.
Gerarchia di ereditarietà
Requisiti
Intestazione: afxdropdowntoolbar.h
CMFCDropDownToolbarButton::CopyFrom
Copia le proprietà di un altro pulsante della barra degli strumenti nel pulsante corrente.
virtual void CopyFrom(const CMFCToolBarButton& src);
Parametri
src
[in] Riferimento al pulsante di origine da cui copiare.
Osservazioni:
Chiamare questo metodo per copiare un altro pulsante della barra degli strumenti in questo pulsante della barra degli strumenti. src deve essere di tipo CMFCDropDownToolbarButton
.
CMFCDropDownToolbarButton::CMFCDropDownToolbarButton
Costruisce un oggetto CMFCDropDownToolbarButton
.
CMFCDropDownToolbarButton();
CMFCDropDownToolbarButton(
LPCTSTR lpszName,
CMFCDropDownToolBar* pToolBar);
Parametri
lpszName
[in] Testo predefinito del pulsante.
pToolBar
[in] Puntatore all'oggetto CMFCDropDownToolBar
visualizzato quando l'utente preme il pulsante.
Osservazioni:
Il secondo overload del costruttore copia nel pulsante a discesa il primo pulsante dalla barra degli strumenti specificato da pToolBar .
In genere, un pulsante della barra degli strumenti a discesa usa il testo del pulsante usato più di recente nella barra degli strumenti specificato da pToolBar . Usa il testo specificato da lpszName quando il pulsante viene convertito in un pulsante di menu o visualizzato nella scheda Comandi della finestra di dialogo Personalizza . Per altre informazioni sulla finestra di dialogo Personalizza , vedere Classe CMFCToolBarsCustomizeDialog.
Esempio
Nell'esempio seguente viene illustrato come costruire un oggetto della CMFCDropDownToolbarButton
classe . Questo frammento di codice fa parte dell'esempio demo di Visual Studio.
// Add dropdown resources button
// CMFCToolBarsCustomizeDialog* pDlgCust
// CMFCDropDownToolBar m_wndToolbarResource
pDlgCust->AddButton(_T("Build"), CMFCDropDownToolbarButton(_T("Add Resource"), &m_wndToolbarResource));
CMFCDropDownToolbarButton::D ropDownToolbar
Apre una barra degli strumenti a discesa.
BOOL DropDownToolbar(CWnd* pWnd);
Parametri
pWnd
[in] Finestra padre del frame a discesa o NULL per utilizzare la finestra padre del pulsante della barra degli strumenti a discesa.
Valore restituito
Diverso da zero se il metodo ha esito positivo; in caso contrario, 0.
Osservazioni:
Il metodo CMFCDropDownToolbarButton::OnClick chiama questo metodo per aprire la barra degli strumenti a discesa quando l'utente preme e tiene premuto il pulsante della barra degli strumenti.
Questi metodi creano la barra degli strumenti a discesa usando il metodo CMFCDropDownFrame::Create . Se la barra degli strumenti padre è ancorata verticalmente, questo metodo posiziona la barra degli strumenti a discesa sul lato sinistro o destro della barra degli strumenti padre, a seconda dell'adattamento. In caso contrario, questo metodo posiziona la barra degli strumenti a discesa sotto la barra degli strumenti padre.
Questo metodo ha esito negativo se pWnd è NULL e il pulsante della barra degli strumenti a discesa non ha una finestra padre.
CMFCDropDownToolbarButton::ExportToMenuButton
Copia il testo dal pulsante della barra degli strumenti a un menu.
virtual BOOL ExportToMenuButton(CMFCToolBarMenuButton& menuButton) const;
Parametri
menuButton
[in] Riferimento al pulsante del menu di destinazione.
Valore restituito
Diverso da zero se il metodo ha esito positivo; in caso contrario, zero.
Osservazioni:
Questo metodo chiama l'implementazione della classe base ( CMFCToolBarButton::ExportToMenuButton) e quindi aggiunge al pulsante di menu di destinazione un menu a comparsa che contiene ogni voce di menu della barra degli strumenti in questo pulsante. Questo metodo non aggiunge menu secondari al menu a comparsa.
Questo metodo ha esito negativo se la barra degli strumenti padre, m_pToolBar
, è NULL o l'implementazione della classe di base restituisce FALSE.
CMFCDropDownToolbarButton::GetDropDownToolBar
Recupera la barra degli strumenti a discesa associata al pulsante.
CMFCToolBar* GetDropDownToolBar() const;
Valore restituito
Barra degli strumenti a discesa associata al pulsante.
Osservazioni:
Questo metodo restituisce il m_pToolBar
membro dati.
CMFCDropDownToolbarButton::IsDropDown
Determina se la barra degli strumenti a discesa è attualmente aperta.
BOOL IsDropDown() const;
Valore restituito
Diverso da zero se la barra degli strumenti a discesa è attualmente aperta; in caso contrario, 0.
Osservazioni:
Il framework apre la barra degli strumenti a discesa usando il metodo CMFCDropDownToolbarButton::D ropDownToolbar . Il framework chiude la barra degli strumenti a discesa quando l'utente preme il pulsante sinistro del mouse nell'area non client della barra degli strumenti a discesa.
CMFCDropDownToolbarButton::IsExtraSize
Determina se il pulsante può essere visualizzato con un bordo esteso.
virtual BOOL IsExtraSize() const;
Valore restituito
Diverso da zero se il pulsante della barra degli strumenti può essere visualizzato con un bordo esteso; in caso contrario, 0.
Osservazioni:
Per altre informazioni sui bordi estesi, vedere CMFCToolBarButton::IsExtraSize.
CMFCDropDownToolbarButton::m_uiShowBarDelay
Specifica il periodo di tempo in cui un utente deve tenere premuto il pulsante del mouse prima che venga visualizzata la barra degli strumenti a discesa.
static UINT m_uiShowBarDelay;
Osservazioni:
Il tempo di ritardo viene misurato in millisecondi. Il valore predefinito è 500. È possibile impostare un altro ritardo modificando il valore di questo membro dati condiviso.
CMFCDropDownToolbarButton::OnCalculateSize
Chiamato dal framework per calcolare le dimensioni del pulsante per il contesto di dispositivo e lo stato di ancoraggio specificati.
virtual SIZE OnCalculateSize(
CDC* pDC,
const CSize& sizeDefault,
BOOL bHorz);
Parametri
pDC
[in] Contesto del dispositivo che visualizza il pulsante.
sizeDefault
[in] Dimensioni predefinite del pulsante.
bHorz
[in] Stato di ancoraggio della barra degli strumenti padre. Questo parametro è TRUE se la barra degli strumenti è ancorata orizzontalmente o mobile oppure FALSE se la barra degli strumenti è ancorata verticalmente.
Valore restituito
Struttura SIZE
che contiene le dimensioni del pulsante, in pixel.
Osservazioni:
Questo metodo estende l'implementazione della classe di base ( CMFCToolBarButton::OnCalculateSize) aggiungendo la larghezza della freccia a discesa alla dimensione orizzontale delle dimensioni del pulsante.
CMFCDropDownToolbarButton::OnChangeParentWnd
Chiamato dal framework quando il pulsante viene inserito in una nuova barra degli strumenti.
virtual void OnChangeParentWnd(CWnd* pWndParent);
Parametri
pWndParent
[in] Nuova finestra padre.
Osservazioni:
Questo metodo esegue l'override dell'implementazione della classe di base ( CMFCToolBarButton::OnChangeParentWnd) cancellando l'etichetta di testo ( CMFCToolBarButton::m_strText) e impostando i membri dati CMFCToolBarButton::m_bText e CMFCToolBarButton::m_bUserButton su FALSE.
CMFCDropDownToolbarButton::OnClick
Chiamato dal framework quando l'utente fa clic sul pulsante del mouse.
virtual BOOL OnClick(
CWnd* pWnd,
BOOL bDelay = TRUE);
Parametri
pWnd
[in] Finestra padre del pulsante della barra degli strumenti.
bDelay
[in] TRUE se il messaggio deve essere gestito con un ritardo.
Valore restituito
Diverso da zero se il pulsante elabora il messaggio di clic; in caso contrario, 0.
Osservazioni:
Questo metodo estende l'implementazione della classe base CMFCToolBarButton ::OnClick aggiornando lo stato della barra degli strumenti a discesa.
Quando un utente fa clic sul pulsante della barra degli strumenti, questo metodo crea un timer che attende il periodo di tempo specificato dal membro dati CMFCDropDownToolbarButton::m_uiShowBarDelay e quindi apre la barra degli strumenti a discesa usando il metodo CMFCDropDownToolbarButton::D ropDownToolbarbar . Questo metodo chiude la barra degli strumenti a discesa la seconda volta che l'utente fa clic sul pulsante della barra degli strumenti.
CMFCDropDownToolbarButton::OnClickUp
Chiamato dal framework quando l'utente rilascia il pulsante del mouse.
virtual BOOL OnClickUp();
Valore restituito
Diverso da zero se il pulsante elabora il messaggio di clic; in caso contrario, 0.
Osservazioni:
Questo metodo estende l'implementazione della classe base CMFCToolBarButton ::OnClickUp aggiornando lo stato della barra degli strumenti a discesa.
Questo metodo arresta il timer della barra degli strumenti a discesa se è attivo. Chiude la barra degli strumenti a discesa se è aperta.
Per altre informazioni sulla barra degli strumenti a discesa e sul timer della barra degli strumenti a discesa, vedere CMFCDropDownToolbarButton::OnClick.
CMFCDropDownToolbarButton::OnContextHelp
Chiamato dal framework quando la barra degli strumenti padre gestisce un messaggio di WM_HELPHITTEST.
virtual BOOL OnContextHelp(CWnd* pWnd);
Parametri
pWnd
[in] Finestra padre del pulsante della barra degli strumenti.
Valore restituito
Diverso da zero se il pulsante elabora il messaggio della Guida; in caso contrario, 0.
Osservazioni:
Questo metodo estende l'implementazione della classe base ( CMFCToolBarButton::OnContextHelp) chiamando il metodo CMFCDropDownToolbarButton::OnClick con bDelay impostato su FALSE. Questo metodo restituisce il valore restituito da CMFCDropDownToolbarButton::OnClick.
Per altre informazioni sul messaggio di WM_HELPHITTEST, vedere TN028: Supporto della Guida sensibile al contesto.
CMFCDropDownToolbarButton::OnCustomizeMenu
Modifica il menu fornito quando l'applicazione visualizza un menu di scelta rapida sulla barra degli strumenti padre.
virtual BOOL OnCustomizeMenu(CMenu* pMenu);
Parametri
pMenu
[in] Menu da personalizzare.
Valore restituito
Questo metodo restituisce TRUE.
Osservazioni:
Questo metodo estende l'implementazione della classe base ( CMFCToolBarButton::OnCustomizeMenu) disabilitando le voci di menu seguenti:
Copia immagine pulsante
Aspetto pulsante
Image
Text
Immagine e testo
Eseguire l'override di questo metodo per modificare il menu di scelta rapida visualizzato dal framework in modalità di personalizzazione.
CMFCDropDownToolbarButton::OnDraw
Chiamato dal framework per disegnare il pulsante usando gli stili e le opzioni specificati.
virtual void OnDraw(
CDC* pDC,
const CRect& rect,
CMFCToolBarImages* pImages,
BOOL bHorz = TRUE,
BOOL bCustomizeMode = FALSE,
BOOL bHighlight = FALSE,
BOOL bDrawBorder = TRUE,
BOOL bGrayDisabledButtons = TRUE);
Parametri
pDC
[in] Contesto del dispositivo che visualizza il pulsante.
rect
[in] Rettangolo di delimitazione del pulsante.
pImages
[in] Raccolta di immagini della barra degli strumenti associate al pulsante.
bHorz
[in] Stato di ancoraggio della barra degli strumenti padre. Questo parametro è TRUE quando il pulsante è ancorato orizzontalmente e FALSE quando il pulsante è ancorato verticalmente.
bCustomizeMode
[in] Specifica se la barra degli strumenti è in modalità di personalizzazione. Questo parametro è TRUE quando la barra degli strumenti è in modalità di personalizzazione e FALSE quando la barra degli strumenti non è in modalità di personalizzazione.
bHighlight
[in] Specifica se il pulsante è evidenziato. Questo parametro è TRUE quando il pulsante è evidenziato e FALSE quando il pulsante non è evidenziato.
bDrawBorder
[in] Specifica se il pulsante deve visualizzare il bordo. Questo parametro è TRUE quando il pulsante deve visualizzare il bordo e FALSE quando il pulsante non deve visualizzare il bordo.
bGrayDisabledButtons
[in] Specifica se oscurare i pulsanti disabilitati o utilizzare la raccolta di immagini disabilitate. Questo parametro è TRUE quando i pulsanti disabilitati devono essere ombreggiati e FALSE quando questo metodo deve usare la raccolta di immagini disabilitate.
Osservazioni:
Eseguire l'override di questo metodo per personalizzare il disegno del pulsante della barra degli strumenti.
CMFCDropDownToolbarButton::OnDrawOnCustomizeList
Chiamato dal framework per disegnare il pulsante nel riquadro Comandi della finestra di dialogo Personalizza .
virtual int OnDrawOnCustomizeList(
CDC* pDC,
const CRect& rect,
BOOL bSelected);
Parametri
pDC
[in] Contesto del dispositivo che visualizza il pulsante.
rect
[in] Rettangolo di delimitazione del pulsante.
bSelected
[in] Indica se il pulsante è selezionato. Se questo parametro è TRUE, viene selezionato il pulsante . Se questo parametro è FALSE, il pulsante non è selezionato.
Valore restituito
Larghezza, in pixel, del pulsante nel contesto di dispositivo specificato.
Osservazioni:
Questo metodo viene chiamato dalla finestra di dialogo di personalizzazione ( scheda Comandi ) quando è necessario che il pulsante venga visualizzato nella casella di riepilogo di disegno proprietario.
Questo metodo estende l'implementazione della classe di base ( CMFCToolBarButton::OnDrawOnCustomizeList) modificando l'etichetta di testo del pulsante con il nome del pulsante ( ovvero, al valore del parametro lpszName passato al costruttore).
CMFCDropDownToolbarButton::Serialize
Legge questo oggetto da un archivio o lo scrive in un archivio.
virtual void Serialize(CArchive& ar);
Parametri
Ar
[in] Oggetto CArchive
da cui o da serializzare.
Osservazioni:
Questo metodo estende l'implementazione della classe base ( CMFCToolBarButton::Serialize) serializzando l'ID risorsa della barra degli strumenti padre. Quando l'archivio viene caricato ( CArchive::IsLoading restituisce un valore diverso da zero), questo metodo imposta il m_pToolBar
membro dati sulla barra degli strumenti contenente l'ID risorsa serializzato.
CMFCDropDownToolbarButton::SetDefaultCommand
Imposta il comando predefinito utilizzato dal framework quando un utente fa clic sul pulsante.
void SetDefaultCommand(UINT uiCmd);
Parametri
uiCmd
[in] ID del comando predefinito.
Osservazioni:
Chiamare questo metodo per specificare un comando predefinito eseguito dal framework quando l'utente fa clic sul pulsante. Un elemento con l'ID comando specificato da uiCmd deve trovarsi nella barra degli strumenti a discesa padre.
Vedi anche
Grafico della gerarchia
Classi
Classe CMFCDropDownToolBar
Classe CMFCToolBar
Classe CMFCToolBarMenuButton
Procedura dettagliata: inserimento di controlli nelle barre degli strumenti