Informazioni sugli Appunti
Gli Appunti sono un set di funzioni e messaggi che consentono alle applicazioni di trasferire i dati. Poiché tutte le applicazioni hanno accesso agli Appunti, i dati possono essere facilmente trasferiti tra applicazioni o all'interno di un'applicazione.
Gli Appunti sono basati sull'utente. Una finestra deve trasferire i dati dagli Appunti solo in risposta a un comando dell'utente. Una finestra non deve usare gli Appunti per trasferire i dati senza la conoscenza dell'utente.
Un oggetto memoria negli Appunti può essere in qualsiasi formato di dati, denominato formato degli Appunti. Ogni formato viene identificato da un valore intero senza segno. Per i formati degli Appunti standard (predefiniti), questo valore è una costante definita in Winuser.h; per i formati degli Appunti registrati, è il valore restituito della funzione RegisterClipboardFormat.
Ad eccezione della registrazione dei formati degli Appunti, le singole finestre eseguono la maggior parte delle operazioni degli Appunti. In genere, una routine finestra trasferisce informazioni dagli Appunti in risposta al messaggio di WM_COMMAND .
Questa sezione illustra quanto segue:
Comandi degli Appunti
Un utente esegue in genere operazioni negli Appunti scegliendo i comandi dal menu Modifica di un'applicazione. Di seguito è riportata una breve descrizione dei comandi standard degli Appunti.
Comando | Descrizione |
---|---|
Taglia | Inserisce una copia della selezione corrente negli Appunti ed elimina la selezione dal documento. Il contenuto precedente degli Appunti viene eliminato definitivamente. |
Copia | Inserisce una copia della selezione corrente negli Appunti. Il documento rimane invariato. Il contenuto precedente degli Appunti viene eliminato definitivamente. |
Incolla | Sostituisce la selezione corrente con il contenuto degli Appunti. Il contenuto degli Appunti non viene modificato. |
CANC | Elimina la selezione corrente dal documento. Il contenuto degli Appunti non viene modificato. Questo comando non include gli Appunti, ma dovrebbe essere visualizzato con i comandi degli Appunti nel menu Modifica . |
Numero di sequenza appunti
Gli Appunti per ogni stazione finestra hanno un numero di sequenza degli Appunti associato. Questo numero viene incrementato ogni volta che cambia il contenuto degli Appunti. Per ottenere il numero di sequenza degli Appunti, chiamare la funzione GetClipboardSequenceNumber.
Visualizzatori appunti
Un visualizzatore appunti è una finestra che visualizza il contenuto corrente degli Appunti. La finestra del visualizzatore appunti è utile per l'utente e non influisce sulle funzioni delle transazioni dati degli Appunti.
In genere, una finestra del visualizzatore appunti può visualizzare almeno i tre formati più comuni: CF_TEXT, CF_BITMAP e CF_METAFILEPICT. Se una finestra non rende disponibili i dati in uno di questi tre formati, deve fornire dati in un formato di visualizzazione o usare il formato di visualizzazione proprietario.
Una catena di visualizzatore appunti è il collegamento di due o più entità in modo che siano dipendenti l'una dall'altra per l'operazione. Questa interdipendenza (catena) consente a tutte le applicazioni visualizzatore Appunti in esecuzione di ricevere i messaggi inviati agli Appunti correnti.
In questa sezione vengono illustrati gli argomenti seguenti.
Finestre visualizzatore Appunti
Una finestra si aggiunge alla catena di visualizzatore degli Appunti chiamando la funzione SetClipboardViewer. Il valore restituito è l'handle della finestra successiva nella catena. Per recuperare l'handle nella prima finestra della catena, chiamare la funzione GetClipboardViewer.
Ogni finestra del visualizzatore appunti deve tenere traccia della finestra successiva nella catena del visualizzatore appunti. Quando il contenuto degli Appunti viene modificato, il sistema invia un messaggio WM_DRAWCLIPBOARD alla prima finestra della catena. Dopo l'aggiornamento della visualizzazione, ogni finestra del visualizzatore degli Appunti deve passare questo messaggio alla finestra successiva della catena.
Prima di chiudere, una finestra del visualizzatore appunti deve rimuoverla dalla catena del visualizzatore degli Appunti chiamando la funzione ChangeClipboardChain. Il sistema invia quindi un messaggio WM_CHANGECBCHAIN alla prima finestra della catena.
Per altre informazioni sull'elaborazione dei messaggi WM_DRAWCLIPBOARD e WM_CHANGECBCHAIN, vedere Creazione di una finestra del Visualizzatore Appunti.
Formati di visualizzazione
Un formato di visualizzazione è un formato degli Appunti usato per visualizzare le informazioni in una finestra del visualizzatore degli Appunti. Un proprietario degli Appunti che utilizza un formato degli Appunti privato o registrato e nessuno dei formati standard più comuni deve fornire dati in un formato di visualizzazione per la visualizzazione in una finestra del visualizzatore degli Appunti. I formati di visualizzazione sono destinati solo alla visualizzazione e non devono essere incollati in un documento.
I quattro formati di visualizzazione sono: CF_DSPBITMAP, CF_DSPMETAFILEPICT, CF_DSPTEXT e CF_DSPENHMETAFILE. Questi formati di visualizzazione vengono visualizzati nello stesso modo dei formati standard, ovvero: CF_BITMAP, CF_TEXT, CF_METAFILEPICT e CF_ENHMETAFILE.
Formato di visualizzazione proprietario
Per un proprietario degli Appunti che non utilizza uno dei formati standard comuni degli Appunti, un'alternativa a fornire un formato di visualizzazione consiste nell'utilizzare il formato degli Appunti (CF_OWNERDISPLAY) proprietario.
Utilizzando il formato di visualizzazione proprietario, un proprietario degli Appunti può evitare il sovraccarico del rendering dei dati in un formato aggiuntivo prendendo il controllo diretto sulla pittura della finestra del visualizzatore degli Appunti. La finestra del visualizzatore Degli Appunti invia messaggi al proprietario degli Appunti ogni volta che una parte della finestra deve essere ridisegnata o quando la finestra viene espansa o ridimensionata.
Argomenti correlati