Condividi tramite


Classe CMFCToolBarsCustomizeDialog

Finestra di dialogo scheda senza modalità ( classe CPropertySheet) che consente all'utente di personalizzare le barre degli strumenti, i menu, i tasti di scelta rapida, gli strumenti definiti dall'utente e lo stile visivo in un'applicazione. In genere, l'utente accede a questa finestra di dialogo scegliendo Personalizza dal menu Strumenti .

La finestra di dialogo Personalizza include sei schede: Comandi, Barre degli strumenti, Strumenti, Tastiera, Menu e Opzioni.

Sintassi

class CMFCToolBarsCustomizeDialog : public CPropertySheet

Membri

Costruttori pubblici

Nome Descrizione
CMFCToolBarsCustomizeDialog::CMFCToolBarsCustomizeDialog Costruisce un oggetto CMFCToolBarsCustomizeDialog.
CMFCToolBarsCustomizeDialog::~CMFCToolBarsCustomizeDialog Distruttore.

Metodi pubblici

Nome Descrizione
CMFCToolBarsCustomizeDialog::AddButton Inserisce un pulsante della barra degli strumenti nell'elenco dei comandi nella pagina Comandi
CMFCToolBarsCustomizeDialog::AddMenu Carica un menu dalle risorse e chiama CMFCToolBarsCustomizeDialog::AddMenuCommands per aggiungere tale menu all'elenco dei comandi nella pagina Comandi .
CMFCToolBarsCustomizeDialog::AddMenuCommands Carica un menu dalle risorse e chiama CMFCToolBarsCustomizeDialog::AddMenuCommands per aggiungere tale menu all'elenco dei comandi nella pagina Comandi .
CMFCToolBarsCustomizeDialog::AddToolBar Carica una barra degli strumenti dalle risorse. Quindi, per ogni comando nel menu chiama il metodo CMFCToolBarsCustomizeDialog::AddButton per inserire un pulsante nell'elenco dei comandi nella pagina Comandi nella categoria specificata.
CMFCToolBarsCustomizeDialog::Create Visualizza la finestra di dialogo Personalizzazione .
CMFCToolBarsCustomizeDialog::EnableTools Riservato a un uso futuro.
CMFCToolBarsCustomizeDialog::EnableUserDefinedToolbars Abilita o disabilita la creazione di nuove barre degli strumenti tramite la finestra di dialogo Personalizza .
CMFCToolBarsCustomizeDialog::FillAllCommandsList Popola l'oggetto fornito CListBox con i comandi nella categoria Tutti i comandi.
CMFCToolBarsCustomizeDialog::FillCategoriesComboBox Popola l'oggetto fornito CComboBox con il nome di ogni categoria di comandi nella finestra di dialogo Personalizza .
CMFCToolBarsCustomizeDialog::FillCategoriesListBox Popola l'oggetto fornito CListBox con il nome di ogni categoria di comandi nella finestra di dialogo Personalizza .
CMFCToolBarsCustomizeDialog::GetCommandName Recupera il nome associato all'ID del comando specificato.
CMFCToolBarsCustomizeDialog::GetCountInCategory Recupera il numero di elementi nell'elenco fornito con un'etichetta di testo specificata.
CMFCToolBarsCustomizeDialog::GetFlags Recupera il set di flag che influiscono sul comportamento della finestra di dialogo.
CMFCToolBarsCustomizeDialog::GetThisClass Usato dal framework per ottenere un puntatore all'oggetto CRuntimeClass associato a questo tipo di classe.
CMFCToolBarsCustomizeDialog::OnEditToolbarMenuImage Avvia un editor di immagini in modo che un utente possa personalizzare un pulsante della barra degli strumenti o un'icona di voce di menu.
CMFCToolBarsCustomizeDialog::OnInitDialog Esegue l'override per aumentare l'inizializzazione della finestra delle proprietà. (sostituzioni )CPropertySheet::OnInitDialog.)
CMFCToolBarsCustomizeDialog::P ostNcDestroy Chiamato dal framework dopo che la finestra è stata distrutta. Esegue l'override di CPropertySheet::PostNcDestroy.
CMFCToolBarsCustomizeDialog::RemoveButton Rimuove il pulsante con l'ID comando specificato dalla categoria specificata o da tutte le categorie.
CMFCToolBarsCustomizeDialog::RenameCategory Rinomina una categoria nella casella di riepilogo delle categorie nella scheda Comandi .
CMFCToolBarsCustomizeDialog::ReplaceButton Sostituisce un pulsante nell'elenco dei comandi nella scheda Comandi con un nuovo oggetto pulsante della barra degli strumenti.
CMFCToolBarsCustomizeDialog::SetUserCategory Aggiunge una categoria all'elenco di categorie che verranno visualizzate nella scheda Comandi .

Metodi protetti

Nome Descrizione
CMFCToolBarsCustomizeDialog::CheckToolsValidity Chiamato dal framework per determinare se l'elenco di strumenti definiti dall'utente è valido.
CMFCToolBarsCustomizeDialog::OnAfterChangeTool Chiamato dal framework quando le proprietà di uno strumento definito dall'utente cambiano.
CMFCToolBarsCustomizeDialog::OnAssignKey Determina se un tasto di scelta rapida specificato può essere assegnato a un'azione.
CMFCToolBarsCustomizeDialog::OnBeforeChangeTool Determina se è possibile modificare uno strumento definito dall'utente.
CMFCToolBarsCustomizeDialog::OnInitToolsPage Chiamato dal framework quando l'utente sceglie la scheda Strumenti è richiesta.

Osservazioni:

Per visualizzare la finestra di dialogo Personalizza , creare un CMFCToolBarsCustomizeDialog oggetto e chiamare il metodo CMFCToolBarsCustomizeDialog::Create .

Mentre la finestra di dialogo Personalizza è attiva, l'applicazione funziona in una modalità speciale che limita l'utente alle attività di personalizzazione.

Esempio

L'esempio seguente illustra come usare i vari metodi nella classe CMFCToolBarsCustomizeDialog . Nell'esempio viene illustrato come sostituire un pulsante della barra degli strumenti nella casella di riepilogo dei comandi nella pagina Comandi, abilitare la creazione di nuove barre degli strumenti usando la finestra di dialogo Personalizza e visualizzare la finestra di dialogo Personalizzazione. Questo frammento di codice fa parte dell'esempio demo di Internet Explorer.

pDlgCust->ReplaceButton(ID_FAVORITS_DUMMY,
                        CMFCToolBarMenuButton((UINT)-1, menuFavorites, -1, strFavorites));
pDlgCust->EnableUserDefinedToolbars();
pDlgCust->Create();

Gerarchia di ereditarietà

CObject

CCmdTarget

CWnd

Cpropertysheet

CMFCToolBarsCustomizeDialog

Requisiti

Intestazione: afxToolBarsCustomizeDialog.h

CMFCToolBarsCustomizeDialog::AddButton

Inserisce un pulsante della barra degli strumenti nell'elenco dei comandi nella pagina Comandi .

void AddButton(
    UINT uiCategoryId,
    const CMFCToolBarButton& button,
    int iInsertBefore=-1);

void AddButton(
    LPCTSTR lpszCategory,
    const CMFCToolBarButton& button,
    int iInsertBefore=-1);

Parametri

uiCategoryId
[in] Specifica l'ID categoria in cui inserire il pulsante.

pulsante
[in] Specifica il pulsante da inserire.

iInsertBefore
[in] Specifica l'indice in base zero di un pulsante della barra degli strumenti prima del quale viene inserito il pulsante.

lpszCategory
[in] Specifica la stringa di categoria da inserire.

Osservazioni:

Il AddButton metodo ignora i pulsanti con ID comando standard (ad esempio ID_FILE_MRU_FILE1), comandi non consentiti (vedere CMFCToolBar::IsCommandPermitted) e pulsanti fittizi.

Questo metodo crea un nuovo oggetto dello stesso tipo button di (in genere una classe CMFCToolBarButton) usando la classe di runtime del pulsante. Chiama quindi CMFCToolBarButton::CopyFrom per copiare i membri dati del pulsante e inserisce la copia nella categoria specificata.

Quando viene inserito il nuovo pulsante, riceve la OnAddToCustomizePage notifica.

Se iInsertBefore è -1, il pulsante viene aggiunto all'elenco di categorie; in caso contrario, viene inserito prima dell'elemento con l'indice specificato.

Esempio

Nell'esempio seguente viene illustrato come usare il AddButton metodo della CMFCToolBarsCustomizeDialog classe . Questo frammento di codice fa parte dell'esempio Slider.

CMFCToolBarsCustomizeDialog *pDlgCust = new CMFCToolBarsCustomizeDialog(this,
                                                                        TRUE /* Automatic menus scaning */);

CSliderButton btnSlider(ID_SLIDER);
btnSlider.SetRange(0, 100);

pDlgCust->AddButton(_T("Edit"), btnSlider);

CMFCToolBarsCustomizeDialog::AddMenu

Carica un menu dalle risorse e chiama CMFCToolBarsCustomizeDialog::AddMenuCommands per aggiungere tale menu all'elenco dei comandi nella pagina Comandi .

BOOL AddMenu(UINT uiMenuResId);

Parametri

uiMenuResId
[in] Specifica l'ID risorsa di un menu da caricare.

Valore restituito

TRUE se un menu è stato aggiunto correttamente; altrimenti FAL edizione Standard.

Osservazioni:

Nella chiamata a AddMenuCommands, bPopup è FAL edizione Standard. Di conseguenza, questo metodo non aggiunge voci di menu che contengono sottomenu all'elenco di comandi. Questo metodo aggiunge le voci di menu nel sottomenu all'elenco dei comandi.

CMFCToolBarsCustomizeDialog::AddMenuCommands

Aggiunge elementi all'elenco dei comandi nella pagina Comandi per rappresentare tutti gli elementi nel menu specificato.

void AddMenuCommands(
    const CMenu* pMenu,
    BOOL bPopup,
    LPCTSTR lpszCategory=NULL,
    LPCTSTR lpszMenuPath=NULL);

Parametri

pMenu
[in] Puntatore all'oggetto CMenu da aggiungere.

bPopup
[in] Specifica se inserire le voci di menu popup nell'elenco dei comandi.

lpszCategory
[in] Nome della categoria da inserire nel menu.

lpszMenuPath
[in] Prefisso aggiunto al nome quando il comando viene visualizzato nell'elenco Tutte le categorie .

Osservazioni:

Il AddMenuCommands metodo esegue un ciclo su tutte le voci di menu di pMenu. Per ogni voce di menu che non contiene un sottomenu, questo metodo crea un oggetto classe CMFCToolBarButton e chiama il metodo CMFCToolBarsCustomizeDialog::AddButton per aggiungere la voce di menu come pulsante della barra degli strumenti all'elenco dei comandi nella pagina Comandi . I separatori vengono ignorati in questo processo.

Se bPopup è TRUE, per ogni voce di menu che contiene un sottomenu questo metodo crea un oggetto Classe CMFCToolBarMenuButton e lo inserisce nell'elenco dei comandi chiamando AddButton. In caso contrario, le voci di menu che contengono sottomenu non vengono visualizzate nell'elenco dei comandi. In entrambi i casi, quando AddMenuCommands rileva una voce di menu con un sottomenu, si chiama in modo ricorsivo, passando un puntatore al sottomenu come parametro pMenu e aggiungendo l'etichetta del sottomenu a lpszMenuPath.

CMFCToolBarsCustomizeDialog::AddToolBar

Carica una barra degli strumenti dalle risorse. Quindi, per ogni comando nel menu chiama il metodo CMFCToolBarsCustomizeDialog::AddButton per inserire un pulsante nell'elenco dei comandi nella pagina Comandi nella categoria specificata.

BOOL AddToolBar(
    UINT uiCategoryId,
    UINT uiToolbarResId);

BOOL AddToolBar(
    LPCTSTR lpszCategory,
    UINT uiToolbarResId);

Parametri

uiCategoryId
[in] Specifica l'ID risorsa della categoria a cui aggiungere la barra degli strumenti.

uiToolbarResId
[in] Specifica l'ID risorsa di una barra degli strumenti i cui comandi vengono inseriti nell'elenco dei comandi.

lpszCategory
[in] Specifica il nome della categoria a cui aggiungere la barra degli strumenti.

Valore restituito

TRUE se il metodo ha esito positivo; altrimenti FAL edizione Standard.

Esempio

Nell'esempio seguente viene illustrato come usare il AddToolBar metodo nella CMFCToolBarsCustomizeDialog classe . Questo frammento di codice fa parte dell' esempio di Word Pad.

CMFCToolBarsCustomizeDialog *pDlgCust = new CMFCToolBarsCustomizeDialog(this,
                                                                        TRUE /* Automatic menus scaning */,
                                                                        AFX_CUSTOMIZE_MENU_SHADOWS | AFX_CUSTOMIZE_TEXT_LABELS |
                                                                            AFX_CUSTOMIZE_MENU_ANIMATIONS);

pDlgCust->AddToolBar(_T("Format"), IDR_FORMATBAR);

Osservazioni:

Il controllo utilizzato per rappresentare ogni comando è un oggetto Classe CMFCToolBarButton. Dopo aver aggiunto la barra degli strumenti, è possibile sostituire il pulsante con un controllo di un tipo derivato chiamando CMFCToolBarsCustomizeDialog::ReplaceButton.

CMFCToolBarsCustomizeDialog::CheckToolsValidity

Verifica la validità dell'elenco degli strumenti utente.

virtual BOOL CheckToolsValidity(const CObList& lstTools);

Parametri

lstTools
[in] Elenco di strumenti definiti dall'utente da controllare.

Valore restituito

Restituisce TRUE se l'elenco di strumenti definiti dall'utente è valido; altrimenti FAL edizione Standard. L'implementazione predefinita restituisce sempre TRUE.

Osservazioni:

Il framework chiama questo metodo per verificare la validità degli oggetti che rappresentano gli strumenti definiti dall'utente restituiti da CMFCToolBarsCustomizeDialog::CheckToolsValidity.

Eseguire l'override del CheckToolsValidity metodo in una classe derivata da CMFCToolBarsCustomizeDialog se si desidera convalidare gli strumenti utente prima che l'utente chiuda la finestra di dialogo. Se questo metodo restituisce FAL edizione Standard quando l'utente fa clic sul pulsante Chiudi nell'angolo superiore destro della finestra di dialogo o sul pulsante Chiudi nell'angolo in basso a destra della finestra di dialogo, nella finestra di dialogo viene visualizzata la scheda Strumenti invece di chiudere. Se questo metodo restituisce FAL edizione Standard quando l'utente fa clic su una scheda per spostarsi dalla scheda Strumenti, lo spostamento non si verifica. È necessario visualizzare una finestra di messaggio appropriata per informare l'utente del problema che ha causato l'esito negativo della convalida.

CMFCToolBarsCustomizeDialog::CMFCToolBarsCustomizeDialog

Costruisce un oggetto CMFCToolBarsCustomizeDialog.

CMFCToolBarsCustomizeDialog(
    CFrameWnd* pWndParentFrame,
    BOOL bAutoSetFromMenus = FALSE,
    UINT uiFlags = (AFX_CUSTOMIZE_MENU_SHADOWS | AFX_CUSTOMIZE_TEXT_LABELS | AFX_CUSTOMIZE_MENU_ANIMATIONS | AFX_CUSTOMIZE_NOHELP),
    CList <CRuntimeClass*, CRuntimeClass*>* p listCustomPages = NULL);

Parametri

pWndParentFrame
[in] Puntatore al frame padre. Questo parametro non deve essere NULL.

bAutoSetFromMenus
[in] Valore booleano che specifica se aggiungere i comandi di menu da tutti i menu all'elenco dei comandi nella pagina Comandi . Se questo parametro è TRUE, vengono aggiunti i comandi di menu. In caso contrario, i comandi di menu non vengono aggiunti.

uiFlags
[in] Combinazione di flag che influiscono sul comportamento della finestra di dialogo. Questo parametro può essere uno o più dei valori seguenti:

  • AFX_CUSTOMIZE_MENU_SHADOWS

  • AFX_CUSTOMIZE_TEXT_LABELS

  • AFX_CUSTOMIZE_MENU_ANIMATIONS

  • AFX_CUSTOMIZE_NOHELP

  • AFX_CUSTOMIZE_CONTEXT_HELP

  • AFX_CUSTOMIZE_NOTOOLS

  • AFX_CUSTOMIZE_MENUAMPERS

  • AFX_CUSTOMIZE_NO_LARGE_ICONS

plistCustomPages
[in] Puntatore a un elenco di CRuntimeClass oggetti che specificano pagine personalizzate aggiuntive.

Osservazioni:

Il parametro plistCustomPages fa riferimento all'elenco di CRuntimeClass oggetti che specificano pagine personalizzate aggiuntive. Il costruttore aggiunge più pagine alla finestra di dialogo usando il metodo CRuntimeClass::CreateObject . Vedere l'esempio CustomPages per un esempio che aggiunge altre pagine alla finestra di dialogo Personalizza .

Per altre informazioni sui valori che è possibile passare nel parametro uiFlags , vedere CMFCToolBarsCustomizeDialog::GetFlags.

Esempio

Nell'esempio seguente viene illustrato come costruire un oggetto della CMFCToolBarsCustomizeDialog classe . Questo frammento di codice fa parte dell'esempio pagine personalizzate.

CMFCToolBarsCustomizeDialog *pDlgCust = new CMFCToolBarsCustomizeDialog(this,
                                                                        TRUE /* Automatic menus scaning */,
                                                                        AFX_CUSTOMIZE_MENU_SHADOWS | AFX_CUSTOMIZE_TEXT_LABELS |
                                                                            AFX_CUSTOMIZE_MENU_ANIMATIONS, // default parameters
                                                                        &lstCustomPages);                  // pointer to the list of runtime classes of the custom property pages

CMFCToolBarsCustomizeDialog::Create

Visualizza la finestra di dialogo Personalizzazione .

virtual BOOL Create();

Valore restituito

TRUE se la finestra delle proprietà di personalizzazione viene creata correttamente; altrimenti FAL edizione Standard.

Osservazioni:

Chiamare il Create metodo solo dopo aver inizializzato completamente la classe .

CMFCToolBarsCustomizeDialog::EnableUserDefinedToolbars

Abilita o disabilita la creazione di nuove barre degli strumenti tramite la finestra di dialogo Personalizza .

void EnableUserDefinedToolbars(BOOL bEnable=TRUE);

Parametri

bEnable
[in] TRUE per abilitare le barre degli strumenti definite dall'utente; FAL edizione Standard per disabilitare le barre degli strumenti.

Osservazioni:

Se bEnable è TRUE, i pulsanti Nuovo, Rinomina ed Elimina vengono visualizzati nella pagina Barre degli strumenti .

Per impostazione predefinita, o se bEnable è FAL edizione Standard, questi pulsanti non vengono visualizzati e l'utente non può definire nuove barre degli strumenti.

CMFCToolBarsCustomizeDialog::FillAllCommandsList

Popola l'oggetto fornito CListBox con i comandi nella categoria Tutti i comandi.

virtual void FillAllCommandsList(CListBox& wndListOfCommands) const;

Parametri

wndListOfCommands
[out] Riferimento all'oggetto CListBox da popolare.

Osservazioni:

La categoria Tutti i comandi contiene i comandi di tutte le categorie. Il metodo CMFCToolBarsCustomizeDialog::AddButton aggiunge automaticamente il comando associato al pulsante fornito alla categoria Tutti i comandi.

Questo metodo cancella il contenuto dell'oggetto fornito CListBox prima di popolarlo con i comandi nella categoria Tutti i comandi.

La CMFCMousePropertyPage classe usa questo metodo per popolare la casella di riepilogo dell'evento con doppio clic.

CMFCToolBarsCustomizeDialog::FillCategoriesComboBox

Popola l'oggetto fornito CComboBox con il nome di ogni categoria di comandi nella finestra di dialogo Personalizza .

void FillCategoriesComboBox(
    CComboBox& wndCategory,
    BOOL bAddEmpty = TRUE) const;

Parametri

wndCategory
[out] Riferimento all'oggetto CComboBox da popolare.

bAddEmpty
[in] Valore booleano che specifica se aggiungere categorie alla casella combinata che non dispongono di comandi. Se questo parametro è TRUE, le categorie vuote vengono aggiunte alla casella combinata. In caso contrario, le categorie vuote non vengono aggiunte.

Osservazioni:

Questo metodo è simile al metodo CMFCToolBarsCustomizeDialog::FillCategoriesListBox , ad eccezione del fatto che questo metodo funziona con un CComboBox oggetto .

Questo metodo non cancella il contenuto dell'oggetto CComboBox prima di popolarlo. Garantisce che la categoria Tutti i comandi sia l'elemento finale nella casella combinata.

È possibile aggiungere nuove categorie di comandi usando il metodo CMFCToolBarsCustomizeDialog::AddButton . È possibile modificare il nome di una categoria esistente usando il metodo CMFCToolBarsCustomizeDialog::RenameCategory .

Le CMFCToolBarsKeyboardPropertyPage classi e CMFCKeyMapDialog usano questo metodo per classificare i mapping di tastiera.

CMFCToolBarsCustomizeDialog::FillCategoriesListBox

Popola l'oggetto fornito CListBox con il nome di ogni categoria di comandi nella finestra di dialogo Personalizza .

void FillCategoriesListBox(
    CListBox& wndCategory,
    BOOL bAddEmpty = TRUE) const;

Parametri

wndCategory
[out] Riferimento all'oggetto CListBox da popolare.

bAddEmpty
[in] Valore booleano che specifica se aggiungere categorie alla casella di riepilogo che non dispongono di comandi. Se questo parametro è TRUE, le categorie vuote vengono aggiunte alla casella di riepilogo. In caso contrario, le categorie vuote non vengono aggiunte.

Osservazioni:

Questo metodo è simile al metodo CMFCToolBarsCustomizeDialog::FillCategoriesComboBox , ad eccezione del fatto che questo metodo funziona con un CListBox oggetto .

Questo metodo non cancella il contenuto dell'oggetto CListBox prima di popolarlo. Garantisce che la categoria Tutti i comandi sia l'elemento finale nella casella di riepilogo.

È possibile aggiungere nuove categorie di comandi usando il metodo CMFCToolBarsCustomizeDialog::AddButton . È possibile modificare il nome di una categoria esistente usando il metodo CMFCToolBarsCustomizeDialog::RenameCategory .

La CMFCToolBarsCommandsPropertyPage classe usa questo metodo per visualizzare l'elenco dei comandi associati a ogni categoria di comandi.

CMFCToolBarsCustomizeDialog::GetCommandName

Recupera il nome associato all'ID del comando specificato.

LPCTSTR GetCommandName(UINT uiCmd) const;

Parametri

uiCmd
[in] ID del comando da recuperare.

Valore restituito

Nome associato all'ID del comando specificato oppure NULL se il comando non esiste.

CMFCToolBarsCustomizeDialog::GetCountInCategory

Recupera il numero di elementi nell'elenco fornito con un'etichetta di testo specificata.

int GetCountInCategory(
    LPCTSTR lpszItemName,
    const CObList& lstCommands) const;

Parametri

lpszItemName
[in] Etichetta di testo da trovare.

lstCommands
[in] Riferimento a un elenco che contiene CMFCToolBarButton oggetti .

Valore restituito

Numero di elementi nell'elenco fornito la cui etichetta di testo è uguale a lpszItemName.

Osservazioni:

Ogni elemento nell'elenco di oggetti specificato deve essere di tipo CMFCToolBarButton. Questo metodo confronta lpszItemName con il membro dati CMFCToolBarButton::m_strText .

CMFCToolBarsCustomizeDialog::GetFlags

Recupera il set di flag che influiscono sul comportamento della finestra di dialogo.

UINT GetFlags() const;

Valore restituito

Set di flag che influiscono sul comportamento della finestra di dialogo.

Osservazioni:

Questo metodo recupera il valore del parametro uiFlags passato al costruttore. Il valore restituito può essere uno o più dei valori seguenti:

Nome Descrizione
AFX_CUSTOMIZE_MENU_SHADOWS Consente all'utente di specificare l'aspetto dell'ombreggiatura del menu.
AFX_CUSTOMIZE_TEXT_LABELS Consente all'utente di specificare se le etichette di testo vengono visualizzate sotto le immagini del pulsante della barra degli strumenti.
AFX_CUSTOMIZE_MENU_ANIMATIONS Consente all'utente di specificare lo stile di animazione del menu.
AFX_CUSTOMIZE_NOHELP Rimuove il pulsante della Guida dalla finestra di dialogo di personalizzazione.
AFX_CUSTOMIZE_CONTEXT_HELP Abilita lo stile di visualizzazione WS_EX_CONTEXTHELP.
AFX_CUSTOMIZE_NOTOOLS Rimuove la pagina Strumenti dalla finestra di dialogo di personalizzazione. Questo flag è valido se l'applicazione usa la CUserToolsManager classe .
AFX_CUSTOMIZE_MENUAMPERS Consente alle didascalia pulsante di contenere il carattere e commerciale ( &).
AFX_CUSTOMIZE_NO_LARGE_ICONS Rimuove l'opzione Icone grandi dalla finestra di dialogo di personalizzazione.

Per altre informazioni sullo stile di visualizzazione WS_EX_CONTEXTHELP, vedere Stili finestra estesa.

CMFCToolBarsCustomizeDialog::OnAfterChangeTool

Risponde a una modifica in uno strumento utente immediatamente dopo che si verifica.

virtual void OnAfterChangeTool(CUserTool* pSelTool);

Parametri

pSelTool
[in, out] Puntatore all'oggetto strumento utente modificato.

Osservazioni:

Questo metodo viene chiamato dal framework quando un utente modifica le proprietà di uno strumento definito dall'utente. L'implementazione predefinita non esegue alcuna operazione. Eseguire l'override di questo metodo in una classe derivata da CMFCToolBarsCustomizeDialog per eseguire l'elaborazione dopo che si verifica una modifica a uno strumento utente.

CMFCToolBarsCustomizeDialog::OnAssignKey

Convalida i tasti di scelta rapida come utente li definisce.

virtual BOOL OnAssignKey(ACCEL* pAccel);

Parametri

pAccel
[in, out] Puntatore all'assegnazione di tastiera proposta espressa come struct ACCEL .

Valore restituito

TRUE se è possibile assegnare la chiave o FAL edizione Standard se non è possibile assegnare la chiave. L'implementazione predefinita restituisce sempre TRUE.

Osservazioni:

Eseguire l'override di questo metodo in una classe derivata per eseguire un'elaborazione aggiuntiva quando un utente assegna un nuovo tasto di scelta rapida o per convalidare i tasti di scelta rapida come definito dall'utente. Per impedire l'assegnazione di un collegamento, restituire FAL edizione Standard. Dovresti anche visualizzare una finestra di messaggio o informare l'utente del motivo per cui la scelta rapida da tastiera è stata rifiutata.

CMFCToolBarsCustomizeDialog::OnBeforeChangeTool

Esegue un'elaborazione personalizzata quando una modifica a uno strumento utente quando l'utente sta per applicare una modifica.

virtual void OnBeforeChangeTool(CUserTool* pSelTool);

Parametri

pSelTool
[in, out] Puntatore all'oggetto strumento utente che sta per essere sostituito.

Osservazioni:

Questo metodo viene chiamato dal framework quando le proprietà di uno strumento definito dall'utente sta per cambiare. L'implementazione predefinita non esegue alcuna operazione. Eseguire l'override del OnBeforeChangeTool metodo in una classe derivata da CMFCToolBarsCustomizeDialog se si vuole eseguire l'elaborazione prima che si verifichi una modifica a uno strumento utente, ad esempio il rilascio di risorse usate da pSelTool .

CMFCToolBarsCustomizeDialog::OnEditToolbarMenuImage

Avvia un editor di immagini in modo che un utente possa personalizzare un pulsante della barra degli strumenti o un'icona di voce di menu.

virtual BOOL OnEditToolbarMenuImage(
    CWnd* pWndParent,
    CBitmap& bitmap,
    int nBitsPerPixel);

Parametri

pWndParent
[in] Puntatore alla finestra padre.

bitmap
[in] Riferimento a un oggetto bitmap da modificare.

nBitsPerPixel
[in] Risoluzione dei colori bitmap, in bit per pixel.

Valore restituito

TRUE se viene eseguito il commit di una modifica; altrimenti FAL edizione Standard. L'implementazione predefinita visualizza una finestra di dialogo e restituisce TRUE se l'utente fa clic su OK o FAL edizione Standard se l'utente fa clic su Annulla o sul pulsante Chiudi.

Osservazioni:

Questo metodo viene chiamato dal framework quando l'utente esegue l'editor di immagini. L'implementazione predefinita visualizza la finestra di dialogo Classe CMFCImageEditorDialog. Eseguire l'override OnEditToolbarMenuImage in una classe derivata per usare un editor di immagini personalizzato.

CMFCToolBarsCustomizeDialog::OnInitDialog

Esegue l'override per aumentare l'inizializzazione della finestra delle proprietà.

virtual BOOL OnInitDialog();

Valore restituito

Risultato della chiamata al metodo CPropertySheet::OnInitDialog .

Osservazioni:

Questo metodo estende l'implementazione della classe base, CPropertySheet::OnInitDialog, visualizzando il pulsante Chiudi , assicurandosi che la finestra di dialogo soddisfi le dimensioni correnti dello schermo e spostando il pulsante ? nell'angolo inferiore sinistro della finestra di dialogo.

CMFCToolBarsCustomizeDialog::OnInitToolsPage

Gestisce la notifica dal framework che la pagina Strumenti sta per essere inizializzata.

virtual void OnInitToolsPage();

Osservazioni:

L'implementazione predefinita non esegue alcuna operazione. Eseguire l'override di questo metodo in una classe derivata per elaborare questa notifica.

CMFCToolBarsCustomizeDialog::P ostNcDestroy

Chiamato dal framework dopo che la finestra è stata distrutta.

virtual void PostNcDestroy();

Osservazioni:

Questo metodo estende l'implementazione della classe base, CPropertySheet::PostNcDestroy, ripristinando l'applicazione alla modalità precedente.

Il metodo CMFCToolBarsCustomizeDialog::Create inserisce l'applicazione in una modalità speciale che limita l'utente alle attività di personalizzazione.

CMFCToolBarsCustomizeDialog::RemoveButton

Rimuove il pulsante con l'ID comando specificato dalla categoria specificata o da tutte le categorie.

int RemoveButton(
    UINT uiCategoryId,
    UINT uiCmdId);

int RemoveButton(
    LPCTSTR lpszCategory,
    UINT uiCmdId);

Parametri

uiCategoryId
[in] Specifica l'ID categoria da cui rimuovere il pulsante.

uiCmdId
[in] Specifica l'ID comando del pulsante.

lpszCategory
[in] Specifica il nome della categoria da cui rimuovere il pulsante.

Valore restituito

Indice in base zero del pulsante rimosso oppure -1 se l'ID comando specificato non è stato trovato nella categoria specificata. Se uiCategoryId è -1, il valore restituito è 0.

Osservazioni:

Per rimuovere un pulsante da tutte le categorie, chiamare il primo overload di questo metodo e impostare uiCategoryId su -1.

CMFCToolBarsCustomizeDialog::RenameCategory

Rinomina una categoria nella casella di riepilogo delle categorie nella pagina Comandi .

BOOL RenameCategory(
    LPCTSTR lpszCategoryOld,
    LPCTSTR lpszCategoryNew);

Parametri

lpszCategoryOld
[in] Nome della categoria da modificare.

lpszCategoryNew
[in] Nome della nuova categoria.

Valore restituito

TRUE se il metodo ha avuto esito positivo; altrimenti FAL edizione Standard.

Osservazioni:

Il nome della categoria deve essere univoco.

CMFCToolBarsCustomizeDialog::ReplaceButton

Sostituisce un pulsante della barra degli strumenti nella casella di riepilogo dei comandi nella pagina Comandi .

void ReplaceButton(
    UINT uiCmd,
    const CMFCToolBarButton& button);

Parametri

uiCmd
[in] Specifica il comando del pulsante da sostituire.

pulsante
[in] Riferimento const all'oggetto pulsante della barra degli strumenti che sostituisce il pulsante precedente.

Osservazioni:

Quando CMFCToolBarsCustomizeDialog::AddMenu, CMFCToolBarsCustomizeDialog::AddMenuCommands o CMFCToolBarsCustomizeDialog::AddToolBar aggiunge un comando alla pagina Commands, tale comando è sotto forma di oggetto classe CMFCToolBarButton (o un oggetto classe CMFCToolBarMenuButton per una voce di menu che contiene un sottomenu aggiunto da AddMenuCommands). Il framework chiama anche questi tre metodi per aggiungere automaticamente i comandi. Se invece si desidera che un comando venga rappresentato da un tipo derivato, chiamare ReplaceButton e passare un pulsante del tipo derivato.

Esempio

Nell'esempio seguente viene illustrato come usare il ReplaceButton metodo nella CMFCToolBarsCustomizeDialog classe . Questo frammento di codice fa parte dell'esempio demo di Visual Studio.

// CMFCToolBarsCustomizeDialog* pDlgCust
     // CMFCToolBarComboBoxButton comboButtonConfig
     pDlgCust->ReplaceButton(ID_DUMMY_SELECT_ACTIVE_CONFIGURATION, comboButtonConfig);

CMFCToolBarsCustomizeDialog::SetUserCategory

Specifica quale categoria nell'elenco di categorie nella pagina Comandi è la categoria utente. È necessario chiamare questa funzione prima di chiamare CMFCToolBarsCustomizeDialog::Create.

BOOL SetUserCategory(LPCTSTR lpszCategory);

Parametri

lpszCategory
[in] Nome della categoria.

Valore restituito

TRUE se il metodo ha esito positivo; altrimenti FAL edizione Standard.

Osservazioni:

L'impostazione della categoria utente non è attualmente usata dal framework.

Vedi anche

Grafico della gerarchia
Classi
Classe CPropertySheet