UDF > Clipboard >


_ClipBoard_SetData

Place des données dans le presse-papiers dans un format spécifié de presse-papiers

#include <Clipboard.au3>
_ClipBoard_SetData ( $vData [, $iFormat = 1] )

Paramètres

$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é

Valeur de retour

Succès: Retourne le handle des données
Échec: Retourne 0

Remarque

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().

En relation

_ClipBoard_Empty, _ClipBoard_GetData, _ClipBoard_GetDataEx, _ClipBoard_SetDataEx

Exemple

#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