Menu e risorse: aggiunte di contenitori
Questo articolo illustra le modifiche che devono essere apportate ai menu e ad altre risorse in un'applicazione contenitore di modifica visiva.
Nelle applicazioni contenitore è necessario apportare due tipi di modifiche: modifiche alle risorse esistenti per supportare la modifica visiva OLE e l'aggiunta di nuove risorse usate per l'attivazione sul posto. Se si usa la procedura guidata dell'applicazione per creare l'applicazione contenitore, questi passaggi verranno eseguiti automaticamente, ma potrebbero richiedere alcune personalizzazioni.
Se non si usa la procedura guidata dell'applicazione, è possibile esaminare OCLIENT. RC, lo script di risorsa per l'applicazione di esempio OCLIENT, per vedere come vengono implementate queste modifiche. Vedere L'esempio OLE MFC OCLIENT.
Gli argomenti trattati in questo articolo includono:
Aggiunte al menu Contenitore
È necessario aggiungere le voci seguenti al menu Modifica:
Articolo | Scopo |
---|---|
Inserisci nuovo oggetto | Apre la finestra di dialogo Ole Insert Object per inserire un elemento collegato o incorporato nel documento. |
Incolla collegamento | Incolla un collegamento all'elemento negli Appunti nel documento. |
Verbo OLE | Chiama il verbo primario dell'elemento selezionato. Il testo di questa voce di menu viene modificato in modo da riflettere il verbo primario dell'elemento selezionato. |
Collegamenti | Apre la finestra di dialogo Modifica collegamenti OLE per modificare gli elementi collegati esistenti. |
Oltre alle modifiche elencate in questo articolo, il file di origine deve includere AFXOLECL. RC, obbligatorio per l'implementazione della libreria di classi Microsoft Foundation. Inserisci nuovo oggetto è l'unica aggiunta di menu richiesta. È possibile aggiungere altri elementi, ma quelli elencati di seguito sono i più comuni.
Se si vuole supportare l'attivazione sul posto degli elementi contenuti, è necessario creare un nuovo menu per l'applicazione contenitore. Questo menu è costituito dallo stesso menu a comparsa File e menu a comparsa Finestra usati quando i file sono aperti, ma ha due separatori posizionati tra di essi. Questi separatori vengono usati per indicare dove l'elemento server (componente) (applicazione) deve posizionare i menu quando attivato. Per altre informazioni su questa tecnica di unione dei menu, vedere Menu e risorse: Unione di menu.
Aggiunte di tabelle dell'acceleratore di applicazioni contenitore
Se si supporta l'attivazione sul posto, sono necessarie piccole modifiche alle risorse della tabella degli acceleratori di un'applicazione contenitore. La prima modifica consente all'utente di premere il tasto di escape (ESC) per annullare la modalità di modifica sul posto. Aggiungere la voce seguente alla tabella principale dell'acceleratore:
ID | Chiave | Digita |
---|---|---|
ID_CANCEL_EDIT_CNTR | VK_ESCAPE | VIRTKEY |
La seconda modifica consiste nel creare una nuova tabella di tasti di scelta rapida corrispondente alla nuova risorsa di menu creata per l'attivazione sul posto. Questa tabella include voci per i menu File e Finestre oltre alla voce VK_ESCAPE precedente. L'esempio seguente è la tabella dell'acceleratore creata per l'attivazione sul posto nel contenitore di esempio MFC:
ID | Chiave | Digita |
---|---|---|
ID_FILE_NEW | CTRL+N | VIRTKEY |
ID_FILE_OPEN | CTRL+O | VIRTKEY |
ID_FILE_SAVE | CTRL+S | VIRTKEY |
ID_FILE_PRINT | CTRL+P | VIRTKEY |
ID_NEXT_PANE | VK_F6 | VIRTKEY |
ID_PREV_PANE | MAIUSC+VK_F6 | VIRTKEY |
ID_CANCEL_EDIT_CNTR | VK_ESCAPE | VIRTKEY |
Aggiunte di tabelle di stringhe per le applicazioni contenitore
La maggior parte delle modifiche apportate alle tabelle stringa per le applicazioni contenitore corrisponde alle voci di menu aggiuntive indicate in Aggiunte menu contenitore. Specificano il testo visualizzato nella barra di stato quando viene visualizzata ogni voce di menu. Di seguito sono riportate ad esempio le voci di tabella stringa generate dalla procedura guidata dell'applicazione:
ID | Stringa |
---|---|
IDP_OLE_INIT_FAILED | Inizializzazione OLE non riuscita. Assicurarsi che le librerie OLE siano la versione corretta. |
IDP_FAILED_TO_CREATE | Impossibile creare l'oggetto. Assicurarsi che l'oggetto venga immesso nel Registro di sistema. |