presse-papiers : ajouter d'autres formats
Cette rubrique explique comment développer la liste des formats pris en charge, notamment pour la prise en charge de OLE. La rubrique Presse-papiers : Copier et coller des données décrit l'implémentation minimale nécessaire pour prendre en charge la copie et le collage depuis le presse-papiers. Si c'est tout ce que vous implémentez, les seuls formats placés dans le presse-papiers sont CF_METAFILEPICT, CF_EMBEDSOURCE, CF_OBJECTDESCRIPTOR, et éventuellement CF_LINKSOURCE. La plupart des applications ont besoin de plus de formats dans le presse-papiers que ces trois.
Enregistrer des formats personnalisés
Pour créer vos propres formats personnalisés, suivez la même procédure que vous utiliseriez en enregistrant un format dans le presse-papiers personnalisé : passez le nom du format à la fonction RegisterClipboardFormat et utilisez la valeur de retour comme ID de format
Placer des formats dans le presse-papiers
Pour ajouter des formats à ceux placés dans le presse-papiers, vous devez substituer la fonction OnGetClipboardData dans la classe que vous avez dérivée COleClientItem ou COleServerItem (selon que les données à copier sont natives ou non). Dans cette fonction, vous devez utiliser la procédure suivante.
Pour placer des formats dans le presse-papiers
Créez un objet COleDataSource.
Passez cette source de données à une fonction qui ajoute les formats de données natifs à la liste des formats pris en charge en appelant COleDataSource::CacheGlobalData.
Ajoutez des formats standard en appelant COleDataSource::CacheGlobalData pour chaque format standard que vous voulez prendre en charge.
Cette technique est utilisée dans le programme d'exemple OLE MFC HIERSVR (examinez la fonction membre OnGetClipboardData de la classe CServerItem ). La seule différence dans cet exemple est que l'étape trois étape n'est pas implémentée car HIERSVR n'accepte pas d'autres formats standard.
Sur quels éléments souhaitez-vous obtenir des informations supplémentaires ?
Voir aussi
Référence
presse-papiers : À l'aide de le mécanisme de presse-papiers OLE