UDF > Clipboard >


_ClipBoard_ChangeChain

Supprime une fen�tre sp�cifi�e de la cha�ne des vues du presse-papiers

#include <Clipboard.au3>
_ClipBoard_ChangeChain ( $hRemove, $hNewNext )

Param�tres

$hRemove Handle de la fen�tre � retirer de la cha�ne.
La handle doit avoir �t� pass� � la fonction _ClipBoard_SetViewer().
$hNewNext Handle de la fen�tre qui suit la fen�tre $hRemove dans la cha�ne des vues du presse-papiers.
C'est le handle retourn� par _ClipBoard_SetViewer() , � moins que la s�quence ait �t� modifi�e en r�ponse � un message $WM_CHANGECBCHAIN.

Valeur de retour

Aucune.

Remarques

La fen�tre, identifi�e par $hNewNext, remplace la fen�tre $hRemove dans la cha�ne.
La fonction _ClipBoard_SetViewer() envoie un message $WM_CHANGECBCHAIN � la premi�re fen�tre de la cha�ne des vues du presse-papiers.

En relation

_ClipBoard_SetViewer

Voir aussi

Consultez ChangeClipboardChain dans la Librairie MSDN.

Exemple

#include <Clipboard.au3>
#include <GUIConstantsEx.au3>
#include <SendMessage.au3>
#include <WindowsConstants.au3>

Global $g_idMemo, $g_hNext = 0

Example()

Func Example()
    Local $hGUI

    ; Cr�e une GUI
    $hGUI = GUICreate("Clipboard", 600, 400)
    $g_idMemo = GUICtrlCreateEdit("", 2, 2, 596, 396, $WS_VSCROLL)
    GUICtrlSetFont($g_idMemo, 9, 400, 0, "Courier New")
    GUISetState(@SW_SHOW)

    ; Initialise les vues du presse-papiers
    $g_hNext = _ClipBoard_SetViewer($hGUI)

    GUIRegisterMsg($WM_CHANGECBCHAIN, "WM_CHANGECBCHAIN")
    GUIRegisterMsg($WM_DRAWCLIPBOARD, "WM_DRAWCLIPBOARD")

    ; Boucle jusqu'� ce que l'utilisateur quitte.
    Do
    Until GUIGetMsg() = $GUI_EVENT_CLOSE

    ; Arr�te les vues du presse-papiers
    _ClipBoard_ChangeChain($hGUI, $g_hNext)
EndFunc   ;==>Example

; Ecrit un message dans memo
Func MemoWrite($sMessage = "")
    GUICtrlSetData($g_idMemo, $sMessage & @CRLF, 1)
EndFunc   ;==>MemoWrite

; Gestionnaire des messages $WM_CHANGECBCHAIN
Func WM_CHANGECBCHAIN($hWnd, $iMsg, $wParam, $lParam)
    #forceref $hWnd, $iMsg
    ; Montre que le message a �t� re�u
    MemoWrite("***** $WM_CHANGECBCHAIN *****")

    ; Si la fen�tre suivante se ferme, r�pare la cha�ne
    If $wParam = $g_hNext Then
        $g_hNext = $lParam
        ; Sinon passe le message � l'autre vue
    ElseIf $g_hNext <> 0 Then
        _SendMessage($g_hNext, $WM_CHANGECBCHAIN, $wParam, $lParam, 0, "hwnd", "hwnd")
    EndIf
EndFunc   ;==>WM_CHANGECBCHAIN

; Gestionnaire des messages $WM_DRAWCLIPBOARD
Func WM_DRAWCLIPBOARD($hWnd, $iMsg, $wParam, $lParam)
    #forceref $hWnd, $iMsg
    ; Affiche du texte du presse-papiers
    MemoWrite(_ClipBoard_GetData())

    ; Passe le message � la vue suivante
    If $g_hNext <> 0 Then _SendMessage($g_hNext, $WM_DRAWCLIPBOARD, $wParam, $lParam)
EndFunc   ;==>WM_DRAWCLIPBOARD