Presse-papiers : ajout d’autres formats
Cette rubrique explique comment développer la liste des formats pris en charge, en particulier pour la prise en charge d’OLE. Le Presse-papiers de la rubrique : Copier et coller des données décrit l’implémentation minimale nécessaire pour prendre en charge la copie et le collage à partir du Presse-papiers. Si c’est tout ce que vous implémentez, les seuls formats placés dans le Presse-papiers sont CF_METAFILEPICT, CF_EMo EDSOURCE, CF_OBJECTDESCRIPTOR et éventuellement CF_LINKSOURCE. La plupart des applications auront besoin de plus de formats dans le Presse-papiers que ces trois derniers.
Inscription de formats personnalisés
Pour créer vos propres formats personnalisés, suivez la même procédure que celle que vous utilisez lors de l’inscription d’un format presse-papiers personnalisé : passez le nom du format à la fonction RegisterClipboardFormat et utilisez sa valeur de retour comme ID de format.
Placement de formats dans le Presse-papiers
Pour ajouter d’autres formats à ceux placés dans le Presse-papiers, vous devez remplacer la OnGetClipboardData
fonction dans la classe à partir de laquelle COleClientItem
vous avez dérivé ou COleServerItem
(selon que les données à copier sont natives). Dans cette fonction, vous devez utiliser la procédure suivante.
Pour placer des formats dans le Presse-papiers
Créez un objet
COleDataSource
.Transmettez cette source de données à une fonction qui ajoute vos formats de données natifs à la liste des formats pris en charge en appelant
COleDataSource::CacheGlobalData
.Ajoutez des formats standard en appelant
COleDataSource::CacheGlobalData
chaque format standard que vous souhaitez prendre en charge.
Cette technique est utilisée dans l’exemple de programme OLE MFC HIERSVR (examinez la OnGetClipboardData
fonction membre de la classe CServerItem ). La seule différence dans cet exemple est que l’étape 3 n’est pas implémentée, car HIERSVR ne prend pas en charge d’autres formats standard.
Que voulez-vous en savoir plus sur
Voir aussi
Presse-papiers : utilisation du mécanisme de Presse-papiers OLE