Ci sono diversi componenti dell'interfaccia utente del MMC snap-in di oggetto che possono essere personalizzate. Alcune di queste aree, come ad esempio i pulsanti della barra degli strumenti e voci di menu, influisce sulle componenti dell'applicazione MMC. Il componente finale č un foglio di proprietą standard che consente di visualizzare le proprietą dello snap-in oggetto, che possono essere personalizzate dall'utente. Per impostazione predefinita, la procedura guidata Snap-In MMC non genera eventuali elementi dell'interfaccia utente personalizzati. Tuttavia, ci sono i segnaposto per tutto il codice dello snap-in oggetto che indicano dove possono andare i vostri elementi dell'interfaccia utente personalizzati.
Un'area che č possibile personalizzare č il menu di scelta rapida per gli elementi dell'oggetto dello snap-in. Quattro voci di menu sono disponibili per la personalizzazione: Top, New, compito e vista. Snap-In verrą creata una risorsa di menu con i segnaposto per quattro slot.
Dal momento della risorsa di menu č conosciuta con l'oggetto dello snap-in, aggiungere eventuali voci di menu personalizzati necessari sotto lo slot appropriato ed essi vengono visualizzate automaticamente nel menu contestuale di ogni elemento lo snap-in. L'elemento dello snap-in sa quale risorsa dal menu da utilizzare in quanto l'oggetto dati contiene la seguente dichiarazione:
SNAPINMENUID(IDR_MMCSNAP_MENU)
Platform SDK fornisce un'interfaccia ( IExtendContextMenu) per personalizzare il menu contestuale di un elemento dello snap-in. Nella maggior parte dei casi, non č necessario chiamare questa interfaccia direttamente, ma se lo snap-in č avanzato, ulteriori informazioni su questa interfaccia sono disponibile in Platform SDK.
Se l'oggetto dello snap-in utilizza una barra degli strumenti personalizzata, č possibile aggiungere un numero qualsiasi di pulsanti ad esso una volta che la risorsa barra degli strumenti č stata creata. Poi, si possono fornire gestori per ogni pulsante per gestire attivitą personalizzate. Per ulteriori informazioni, vedere come aggiungere una barra degli strumenti risorsa all'oggetto Snap-In?.
Platform SDK fornisce un'interfaccia ( IExtendControlbar) per personalizzare la barra di controllo di uno snap-in. Nella maggior parte dei casi, non č necessario chiamare questa interfaccia direttamente, ma se lo snap-in č avanzato, ulteriori informazioni su questa interfaccia sono disponibile in Platform SDK.
Ogni elemento dello snap-in grado di visualizzare un foglio di proprietą standard, accessibile dal menu di scelta rapida quando l'utente destro del mouse il mouse.
Per impostazione predefinita, la procedura guidata Snap-In MMC non fornisce l'implementazione per questa funzionalitą. Tuttavia, se si seleziona la casella di controllo IExtendPropertySheet , la procedura guidata crea una classe di pagina proprietą predefinita ( CSnapNamePage , derivata da CSnapInPropertyPageImpl) e una risorsa di dialogo (IDD_SnapName) per la finestra delle proprietą.
Per completare questa funzionalitą, aggiungere controlli che consentono all'utente di modificare le proprietą dell'elemento dello snap-in.
Per aggiungere pagine aggiuntive alla finestra delle proprietą, bisogno di una nuova classe di pagina Proprietą, una nuova risorsa di dialogo e codice aggiuntivo nel metodo CreatePropertyPages della classe dei dati. In questo esempio, viene chiamata la nuova classe CMMCSnapPage2 e finestra di dialogo čIDD_MMCSNAP2.
Una volta che avete le classi necessarie e risorse, aggiungerli al metodo CreatePropertyPages per creare e aggiungere la nuova pagina di proprietą al foglio. Ad esempio, il codice seguente aggiunge una nuova pagina ( pPage2 ), implementato con il nuovo CMMCSnapPage2 classe, all'oggetto lo snap-in:
CMMCSnapPage2 * pPage2 = CMMCSnapPage2(_T("MMCSnap2")) nuovo;
lpProvider-gt;AddPage (pPage2 - > Create())
Platform SDK fornisce un'interfaccia ( IExtendPropertySheet) per personalizzare la finestra delle proprietą di uno snap-in. Nella maggior parte dei casi, non č necessario chiamare questa interfaccia direttamente, ma se lo snap-in č avanzato, ulteriori informazioni su questa interfaccia sono disponibile in Platform SDK.