UDF > GUI > GuiListView >


_GUICtrlListView_CreateDragImage

Crée une image à faire glisser pour l'élément spécifié

#include <GuiListView.au3>
_GUICtrlListView_CreateDragImage ( $hWnd, $iIndex )

Paramètres

$hWnd ID/handle du contrôle
$iIndex Index de l'élément, de base 0

Valeur de retour

Retourne un tableau avec le format suivant:
    [0] - Handle de l'image à faire glisser en cas de succès, sinon 0
    [1] - coordonnée X du coin supérieur gauche de l'image
    [2] - Coordonnée Y du coin supérieur gauche de l'image

Remarque

Vous devez détruire l'image de la liste quand elle n'est plus nécessaire.

En relation

_GUICtrlListView_DrawDragImage

Exemple

#include <GUIConstantsEx.au3>
#include <GuiImageList.au3>
#include <GuiListView.au3>

Global $g_idMemo

Example()

Func Example()
    Local $hGUI, $hImage, $aDrag, $hListView, $iMsg

    $hGUI = GUICreate("(UDF Created) ListView Create Drag Image", 400, 300)

    $hListView = _GUICtrlListView_Create($hGUI, "", 2, 2, 394, 118)
    $g_idMemo = GUICtrlCreateEdit("", 2, 124, 396, 174, 0)
    GUISetState(@SW_SHOW)

    ; Charge des images
    $hImage = _GUIImageList_Create()
    _GUIImageList_Add($hImage, _GUICtrlListView_CreateSolidBitMap($hListView, 0xFF0000, 16, 16))
    _GUIImageList_Add($hImage, _GUICtrlListView_CreateSolidBitMap($hListView, 0x00FF00, 16, 16))
    _GUIImageList_Add($hImage, _GUICtrlListView_CreateSolidBitMap($hListView, 0x0000FF, 16, 16))
    _GUICtrlListView_SetImageList($hListView, $hImage, 1)

    ; Ajoute des colonnes
    _GUICtrlListView_InsertColumn($hListView, 0, "Column 1", 100)
    _GUICtrlListView_InsertColumn($hListView, 1, "Column 2", 100)
    _GUICtrlListView_InsertColumn($hListView, 2, "Column 3", 100)

    ; Ajoute des éléments
    _GUICtrlListView_AddItem($hListView, "Red", 0)
    _GUICtrlListView_AddItem($hListView, "Green", 1)
    _GUICtrlListView_AddItem($hListView, "Blue", 2)

    ; Crée une image à faire glisser
    $aDrag = _GUICtrlListView_CreateDragImage($hListView, 0)
    _GUICtrlListView_DrawDragImage($hListView, $aDrag)

    MemoWrite("Drag Image Handle = 0x" & Hex($aDrag[0]) & " IsPtr = " & IsPtr($aDrag[0]) & " IsHWnd = " & IsHWnd($aDrag[0]))

    Do
        $iMsg = GUIGetMsg()  
        If $iMsg = $GUI_EVENT_MOUSEMOVE Then
            _GUICtrlListView_DrawDragImage($hListView, $aDrag)
        EndIf
    Until $iMsg = $GUI_EVENT_CLOSE

    ; Détruit l'image de la liste
    _GUIImageList_Destroy($aDrag[0])

    GUIDelete()
EndFunc   ;==>Example

; Ecrit une ligne dans le contrôle mémo
Func MemoWrite($sMessage)
    GUICtrlSetData($g_idMemo, $sMessage & @CRLF, 1)
EndFunc   ;==>MemoWrite