À propos du Presse-papiers

Le Presse-papiers est un ensemble de fonctions et de messages qui permettent aux applications de transférer des données. Étant donné que toutes les applications ont accès au Presse-papiers, les données peuvent être facilement transférées entre les applications ou au sein d’une application.

Le Presse-papiers est piloté par l’utilisateur. Une fenêtre doit transférer des données vers ou depuis le Presse-papiers uniquement en réponse à une commande de l’utilisateur. Une fenêtre ne doit pas utiliser le Presse-papiers pour transférer des données à l’insu de l’utilisateur.

Un objet de mémoire dans le Presse-papiers peut être dans n’importe quel format de données, appelé format presse-papiers. Chaque format est identifié par une valeur entière non signée. Pour les formats de Presse-papiers standard (prédéfinis), cette valeur est une constante définie dans Winuser.h ; pour les formats de Presse-papiers inscrits, il s’agit de la valeur de retour de la fonction RegisterClipboardFormat .

À l’exception de l’inscription des formats du Presse-papiers, les fenêtres individuelles effectuent la plupart des opérations du Presse-papiers. En règle générale, une procédure de fenêtre transfère des informations vers ou depuis le Presse-papiers en réponse au message WM_COMMAND .

Cette section décrit les éléments suivants :

Commandes du Presse-papiers

Un utilisateur effectue généralement des opérations dans le Presse-papiers en choisissant des commandes dans le menu Modifier d’une application. Voici une brève description des commandes standard du Presse-papiers.

Commande Description
Couper Place une copie de la sélection actuelle dans le Presse-papiers et supprime la sélection du document. Le contenu précédent du Presse-papiers est détruit.
Copy Place une copie de la sélection actuelle dans le Presse-papiers. Le document reste inchangé. Le contenu précédent du Presse-papiers est détruit.
Coller Remplace la sélection actuelle par le contenu du Presse-papiers. Le contenu du Presse-papiers n’est pas modifié.
Supprimer Supprime la sélection actuelle du document. Le contenu du Presse-papiers n’est pas modifié. Cette commande n’implique pas le Presse-papiers, mais elle doit apparaître avec les commandes du Presse-papiers dans le menu Modifier .

 

Numéro de séquence du Presse-papiers

Le Presse-papiers de chaque station de fenêtre a un numéro de séquence associé au Presse-papiers. Ce nombre est incrémenté chaque fois que le contenu du Presse-papiers change. Pour obtenir le numéro de séquence du Presse-papiers, appelez la fonction GetClipboardSequenceNumber .

Visionneuses du Presse-papiers

Une visionneuse du Presse-papiers est une fenêtre qui affiche le contenu actuel du Presse-papiers. La fenêtre visionneuse du Presse-papiers est pratique pour l’utilisateur et n’affecte pas les fonctions de transaction de données du Presse-papiers.

En règle générale, une fenêtre de visionneuse du Presse-papiers peut afficher au moins les trois formats les plus courants : CF_TEXT, CF_BITMAP et CF_METAFILEPICT. Si une fenêtre ne rend pas les données disponibles dans l’un de ces trois formats, elle doit fournir des données dans un format d’affichage ou utiliser le format d’affichage propriétaire.

Une chaîne de visionneuse du Presse-papiers est la liaison entre deux entités ou plus afin qu’elles soient dépendantes les unes des autres pour leur fonctionnement. Cette interdépendance (chaîne) permet à toutes les applications de visionneuse du Presse-papiers en cours d’exécution de recevoir les messages envoyés au Presse-papiers actuel.

Les rubriques suivantes sont abordées dans cette section.

Visionneuse du Presse-papiers Windows

Une fenêtre s’ajoute à la chaîne de visionneuse du Presse-papiers en appelant la fonction SetClipboardViewer . La valeur de retour est le handle de la fenêtre suivante de la chaîne. Pour récupérer le handle dans la première fenêtre de la chaîne, appelez la fonction GetClipboardViewer .

Chaque fenêtre de visionneuse du Presse-papiers doit suivre la fenêtre suivante dans la chaîne de visionneuse du Presse-papiers. Lorsque le contenu du Presse-papiers change, le système envoie un message WM_DRAWCLIPBOARD à la première fenêtre de la chaîne. Après la mise à jour de son affichage, chaque fenêtre de visionneuse du Presse-papiers doit passer ce message à la fenêtre suivante de la chaîne.

Avant de se fermer, une fenêtre de visionneuse du Presse-papiers doit se supprimer de la chaîne de visionneuse du Presse-papiers en appelant la fonction ChangeClipboardChain . Le système envoie ensuite un message WM_CHANGECBCHAIN à la première fenêtre de la chaîne.

Pour plus d’informations sur le traitement des messages WM_DRAWCLIPBOARD et WM_CHANGECBCHAIN , consultez Création d’une fenêtre visionneuse du Presse-papiers.

Formats d'affichage

Un format d’affichage est un format de Presse-papiers utilisé pour afficher des informations dans une fenêtre de visionneuse du Presse-papiers. Un propriétaire du Presse-papiers qui utilise un format de Presse-papiers privé ou inscrit, et aucun des formats standard les plus courants, doit fournir des données dans un format d’affichage pour l’affichage dans une fenêtre de visionneuse du Presse-papiers. Les formats d’affichage sont destinés à l’affichage uniquement et ne doivent pas être collés dans un document.

Les quatre formats d’affichage sont : CF_DSPBITMAP, CF_DSPMETAFILEPICT, CF_DSPTEXT et CF_DSPENHMETAFILE. Ces formats d’affichage sont rendus de la même manière que les formats standard, qui sont les suivants : CF_BITMAP, CF_TEXT, CF_METAFILEPICT et CF_ENHMETAFILE.

Format d’affichage du propriétaire

Pour un propriétaire du Presse-papiers qui n’utilise aucun des formats standard courants du Presse-papiers, une alternative à la fourniture d’un format d’affichage consiste à utiliser le format de Presse-papiers d’affichage propriétaire (CF_OWNERDISPLAY).

En utilisant le format d’affichage propriétaire, un propriétaire du Presse-papiers peut éviter la surcharge du rendu des données dans un format supplémentaire en prenant le contrôle direct sur la peinture de la fenêtre de visionneuse du Presse-papiers. La fenêtre de visionneuse du Presse-papiers envoie des messages au propriétaire du Presse-papiers chaque fois qu’une partie de la fenêtre doit être repeinte ou lorsque la fenêtre fait l’objet d’un défilement ou d’un redimensionnement.

Formats standard du Presse-papiers