2010-04-21 12 views
6

Per esempio, che cosa ha fatto Wordpad quando premo "Ctrl + C"? Mette molti formati diversi negli appunti. Così Notepad può ottenere il testo senza qualsiasi colore o tipo di carattere ... ecc, ed è ancora possibile mantenere il formato originale quando si incolla in un'altra finestra del Wordpad.Come inserire più formati negli appunti?

MSDN detto che dovrei chiamare SetClipboardData più volte. Ma non funziona affatto.

+4

Perché non inserire parte del codice che "non funziona affatto"? –

+2

Sì, e anche dirci il modo in cui ha fallito (il programma si è arrestato in modo anomalo, non ha fatto nulla, ha prodotto risultati diversi da quelli previsti, ecc.). –

risposta

10

È possibile utilizzare Delphi TClipboard.SetAsHandle per inserire i dati negli Appunti in tutti i formati desiderati. Aprire la clipboard prima, altrimenti ogni chiamata a SetAsHandle sarà clobber qualsiasi altra cosa era già lì, anche in altri formati.

Clipboard.Open; 
Clipboard.SetAsHandle(cf_Text, x); 
Clipboard.SetAsHandle(cf_Bitmap, y); 
Clipboard.Close; 
+0

Grazie Rob, ho risolto questo problema come suggerito. Sto usando il metodo SetBuffer di TClipboard, il problema è che apro/chiudo gli appunti per ogni chiamata di SetBuffer. – trudger

3

Tutti i programmi moderni usano OleSetClipboard di pubblicare formati di appunti e dati. Avviare reading here.

+0

forse la maggior parte, ma certamente non tutti, come non una singola applicazione che ho guardato in ha usato questa interfaccia. – Rick