Appunti: Copiando e incollando dati

Questo argomento descrive il lavoro minimo necessario per implementare la copia e incolla dagli Appunti nell'applicazione OLE.È consigliabile leggere gli argomenti di oggetti dati e origini dati (OLE) prima di continuare.

Prima di poter distribuire la copia o incolla, è innanzitutto necessario fornire funzioni per gestire le opzioni di copia, taglia e incolla del menu Modifica.

Copia o rimuovendo i dati

Per copiare i dati negli Appunti

  1. Determinare se i dati copiati sono dati nativi o sono un incorporato o un elemento collegato.

    • Se i dati sono incorporati o collegati, ottenere un puntatore all'oggetto di COleClientItem selezionato.

    • Se i dati sono nativi e l'applicazione è un server, creare un nuovo oggetto derivato da COleServerItem contenente i dati selezionati.In caso contrario, creare un oggetto di COleDataSource per i dati.

  2. Chiamare la funzione membro di CopyToClipboard dell'elemento selezionato.

  3. Se l'utente ha scelto un'operazione taglia anziché un'operazione di copia, l'eliminazione dei dati selezionati dall'applicazione.

Per un esempio di questa sequenza, vedere le funzioni di OnEditCopy e di OnEditCut nei programmi di esempio OCLIENT e HIERSVROLE MFC.Notare che questi esempi viene gestito un puntatore ai dati attualmente selezionato, pertanto il passaggio 1 è già completa.

Incollare i dati

Incollare i dati è più complesso di copiandolo in quanto è necessario scegliere il formato da utilizzare per incollare i dati dell'applicazione.

Per incollare i dati dagli Appunti

  1. Nella classe di visualizzazione, implementare OnEditPaste per gestire gli utenti che scelgono l'opzione di incolla dal menu Modifica.

  2. Nella funzione di OnEditPaste , creare un oggetto di COleDataObject e chiamare la funzione membro di AttachClipboard per correlare questo oggetto ai dati negli Appunti.

  3. Chiamare COleDataObject::IsDataAvailable per verificare se un determinato formato è disponibile.

    In alternativa, è possibile utilizzare COleDataObject::BeginEnumFormats per trovare altri formati fino a trovare uno più appropriato all'applicazione.

  4. Eseguire l'operazione incolla il formato.

Per un esempio di come questo funziona, vedere l'implementazione delle funzioni membro di OnEditPaste nelle classi visualizzazioni definite nei programmi di esempio OCLIENT e HIERSVROLE MFC.

SuggerimentoSuggerimento

Il vantaggio principale di separazione dell'operazione Incolla nella propria funzione è che lo stesso codice incolla può essere utilizzato quando i dati vengono rilasciati nell'applicazione durante un'operazione di trascinamento della selezione.Come nell'esempio OCLIENT e in HIERSVR, la funzione di OnDrop anche possibile chiamare DoPasteItem, riutilizzante il codice scritto alle operazioni e Incolla di implementazione.

Per gestire l'opzione dell'Incolla speciale nel menu Modifica, vedere l'argomento finestre di dialogo in OLE.

2ca18w7k.collapse_all(it-it,VS.110).gifScegliere l'argomento su cui visualizzare maggiori informazioni

Vedere anche

Riferimenti

Appunti: Utilizzando il meccanismo di Appunti OLE