Condividi tramite


Contenitori: implementare un contenitore

In questo articolo viene riepilogata la procedura per implementare un contenitore e si indica altri elementi che prevedono spiegazioni più dettagliate su implementare contenitori.Sono inoltre elencate alcune funzionalità che facoltative OLE è possibile implementare e gli articoli che descrivono le funzionalità.

Per preparare la classe CWinApp-derivata

  1. Inizializzare le librerie OLE chiamando AfxOleInit nella funzione membro di InitInstance .

  2. Chiamare CDocTemplate::SetContainerInfo in InitInstance per assegnare il menu e le risorse tasto di scelta rapida viene utilizzato quando un elemento incorporato è disponibile attivato.Per ulteriori informazioni su questo argomento, vedere attivazione.

Queste funzionalità vengono fornite automaticamente quando si utilizza la Creazione guidata applicazione MFC per creare un'applicazione contenitore.Vedere Creare un programma EXE MFC.

Per preparare la classe di visualizzazione

  1. Keep track of agli elementi selezionati mediante la gestione di un puntatore, o l'elenco dei puntatori se supporta la selezione multipla, gli elementi selezionati.La funzione di OnDraw necessario estrarre tutti gli elementi OLE.

  2. Eseguire l'override di IsSelected per controllare se l'elemento passato attualmente sia selezionato.

  3. Implementare un gestore di messaggi di OnInsertObject per visualizzare la finestra di dialogo di Insert Object .

  4. Implementare un gestore di messaggi di OnSetFocus per trasferire lo stato attivo dalla visualizzazione in un elemento incorporato OLE attivo sul posto.

  5. Implementare un gestore di messaggi di OnSize per notificare a un elemento incorporato OLE che è necessario modificare il relativo rettangolo in base alla modifica della dimensione del punto di vista contenitore.

Poiché l'implementazione di queste funzionalità varia notevolmente da un'applicazione all'altra, la procedura guidata fornisce solo un'implementazione di base.È possibile personalizzare queste funzioni per ottenere l'applicazione.Per un esempio, vedere l'esempio di Nell'esempio CONTAINER .

Per gestire incorporato e gli elementi collegati

  1. Derivare la classe da COleClientItem.Gli oggetti di questa classe rappresentano gli elementi che sono stati incorporati in o collegati al documento OLE.

  2. Override OnChange, OnChangeItemPositione OnGetItemPosition.Queste funzioni gestire il ridimensionamento, di l e modificando incorporato e elemento collegato.

La procedura guidata derivare la classe da WPF, ma sarà probabilmente necessario eseguire l'override di OnChange e l'altro viene elencato con nel passaggio 2 precedente.Gli scheletri di implementazioni devono essere personalizzati per la maggior parte delle applicazioni, poiché queste funzioni vengono implementate in modo diverso da un'applicazione all'.Per esempi di questo, vedere gli esempi DRAWCLI e Nell'esempio CONTAINERMFC.

È necessario aggiungere una serie di elementi della struttura del menu dell'applicazione contenitore per supportare OLE.Per ulteriori informazioni, vedere menu e risorse: Aggiunta del contenitore.

È inoltre possibile per supportare alcune delle funzionalità nell'applicazione contenitore:

  • Attivazione sul posto quando si modifica un elemento incorporato.

    Per ulteriori informazioni, vedere attivazione.

  • Creazione di elementi OLE trascinandone una selezione da un'applicazione server.

    Per ulteriori informazioni, vedere Trascinamento della selezione (OLE).

  • Collegamenti agli oggetti incorporati o alle applicazioni contenitore/server di combinazione.

    Per ulteriori informazioni, vedere contenitori: funzionalità avanzate.

Vedere anche

Concetti

Contenitori

Contenitori: elementi client