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à
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; in caso contrario FALSE.
Osservazioni:
Nella chiamata a AddMenuCommands
, bPopup è FALSE. 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; in caso contrario FALSE.
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; in caso contrario FALSE. 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 FALSE quando l'utente fa clic sul pulsante Chiudi nell'angolo superiore destro della finestra di dialogo o sul pulsante chiudi nell'angolo inferiore destro della finestra di dialogo, nella finestra di dialogo viene visualizzata la scheda Strumenti anziché chiudere. Se questo metodo restituisce FALSE 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; in caso contrario FALSE.
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; FALSE 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 è FALSE, 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 didascalie dei pulsanti 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 la chiave può essere assegnata o FALSE 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 FALSE. 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; in caso contrario FALSE. L'implementazione predefinita visualizza una finestra di dialogo e restituisce TRUE se l'utente fa clic su OK o FALSE 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; in caso contrario FALSE.
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; in caso contrario FALSE.
Osservazioni:
L'impostazione della categoria utente non è attualmente usata dal framework.