Place des données dans le presse-papiers dans un format spécifié de presse-papiers
#include <Clipboard.au3>
_ClipBoard_SetData ( $vData [, $iFormat = 1] )
$vData |
Données au format Binary ou String, ou éventuellement NULL(0) (propriétaire doit rendre, voir ci-dessous ). IMPORTANT : Si le format est String, et que la chaîne n'est pas de type $CF_TEXT, $CF_OEMTEXT, ou $CF_UNICODETEXT, elle sera traitée comme une chaîne ANSI. Pour forcer une chaîne Unicode en un autre type, vous devez transmettre les données au format binaire. Aussi, ne PAS passer $CF_UNICODETEXT au format binaire (brouillage des données ). Lorsque $vData est NULL, cela indique que la fenêtre fournit des données dans le format spécifié du presse-papiers, sur demande. Si une fenêtre retarde à s'afficher, elle doit traiter les messages $WM_RENDERFORMAT et $WM_RENDERALLFORMATS. Si cette fonction réussit, le système s'approprie l'objet identifié par le paramètre $hMEMORY. L'application ne peut écrire ou libérer les données une fois que la propriété a été transférée au système, mais elle peut verrouiller et lire les données jusqu'à ce que la fonction _ClipBoard_Close() soit appelée. La mémoire doit être déverrouillée avant que le presse-papiers soit fermé. Si le paramètre $hMEMORY identifie un objet mémoire, l'objet doit avoir été alloué à l'aide de la fonction avec le flag $GMEM_MOVEABLE. |
$iFormat | [optionnel] Spécifie un format de presse-papiers: $CF_TEXT - Format texte $CF_BITMAP - Handle d'une image bitmap (HBITMAP) $CF_METAFILEPICT - Handle d'un métafichier d'image (METAFILEPICT) $CF_SYLK - Format Microsoft Symbolic Link (SYLK) $CF_DIF - Format Data Interchange de Software Arts $CF_TIFF - Format Tagged Image File $CF_OEMTEXT - Format texte contenant des caractères dans le jeu de caractères OEM $CF_DIB - Structure de BITMAPINFO suivie par les bits du bitmap $CF_PALETTE - Handle d'une palette de couleurs $CF_PENDATA - Données pour les extensions de crayon à Pen Computing $CF_RIFF - Représente les données audio au format RIFF $CF_WAVE - Représente les données audio au format WAVE $CF_UNICODETEXT - Format texte Unicode $CF_ENHMETAFILE - Handle d'un métafichier étendu (HENHMETAFILE) $CF_HDROP - Handle d'un type HDROP qui identifie une liste de fichiers $CF_LOCALE - Handle d'un identifiant de paramètres régionaux associés au texte du presse-papiers $CF_DIBV5 - Structure BITMAPV5HEADER suivie par les couleurs du bitmap et des bits du bitmap $CF_OWNERDISPLAY - Format d'affichage propriétaire $CF_DSPTEXT - Format d'affichage de texte associé à un format privé $CF_DSPBITMAP - Format d'affichage de bitmap associé à un format privé $CF_DSPMETAFILEPICT - Format d'affichage de métafichier d'image associé à un format privé $CF_DSPENHMETAFILE - Format d'affichage de métafichier amélioré associé à un format privé |
Succès: | Retourne le handle des données |
Échec: | Retourne 0 |
Cette fonction effectue toutes les étapes nécessaires pour placer les données dans le presse-papiers. Elle va allouer un objet de mémoire globale, ouvrir le presse-papiers, placer les données dans le presse-papiers et fermer le presse-papiers. Si vous avez besoin de plus de contrôle sur la mise en place des données dans le presse-papiers, vous pouvez utiliser la fonction _ClipBoard_SetDataEx().
_ClipBoard_Empty, _ClipBoard_GetData, _ClipBoard_GetDataEx, _ClipBoard_SetDataEx
#include <Clipboard.au3> #include <GUIConstantsEx.au3> #include <WindowsConstants.au3> Global $g_idMemo Example() Func Example() Local $id_SetData, $id_GetData ; Crée une GUI GUICreate("Clipboard", 600, 450) $g_idMemo = GUICtrlCreateEdit("", 2, 2, 596, 396, $WS_VSCROLL) GUICtrlSetFont($g_idMemo, 9, 400, 0, "Courier New") $id_SetData = GUICtrlCreateButton("Set ClipBoard Data", 150, 410, 120, 30) $id_GetData = GUICtrlCreateButton("Get ClipBoard Data", 300, 410, 120, 30) GUISetState(@SW_SHOW) ; Boucle jusqu'à ce que l'utilisateur quitte. Local $iMsg Do $iMsg = GUIGetMsg() Switch $iMsg Case $id_SetData _ClipBoard_SetData("ClipBoard Library") Case $id_GetData MemoWrite(_ClipBoard_GetData()) EndSwitch Until $iMsg = $GUI_EVENT_CLOSE EndFunc ;==>Example ; Ecrire un message dans memo Func MemoWrite($sMessage = "") GUICtrlSetData($g_idMemo, $sMessage & @CRLF, 1) EndFunc ;==>MemoWrite