_GUICtrlListView_CreateDragImage
Создаёт перетаскиваемое изображение для указанного пункта
#include <GuiListView.au3>
_GUICtrlListView_CreateDragImage($hWnd, $iIndex)
Параметры
$hWnd | Дескриптор или идентификатор элемента |
$iIndex |
Индекс пункта |
Возвращаемое значение
Возвращает массив следующего формата:Примечания
Вы сами ответственны за уничтожение списка изображений, когда он больше не нужен.См. также
_GUICtrlListView_DrawDragImageПример
#include <GUIConstantsEx.au3>
#include <GuiListView.au3>
#include <GuiImageList.au3>
$Debug_LV = False ; Проверяет ClassName передаваемый в ListView функции. Установите True и используйте дескриптор от другого элемента, чтобы увидеть как это работает
Global $iMemo
_Main()
Func _Main()
Local $GUI, $hImage, $aDrag, $hListView
$GUI = GUICreate("Создаёт перетаскиваемое изображение", 400, 300)
$hListView = _GUICtrlListView_Create($GUI, "", 2, 2, 394, 118)
$iMemo = GUICtrlCreateEdit("", 2, 124, 396, 174, 0)
GUISetState()
; Загружает изображения
$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)
; Добавляет колонки
_GUICtrlListView_InsertColumn($hListView, 0, "Колонка 1", 100)
_GUICtrlListView_InsertColumn($hListView, 1, "Колонка 2", 100)
_GUICtrlListView_InsertColumn($hListView, 2, "Колонка 3", 100)
; Добавляет пункты
_GUICtrlListView_AddItem($hListView, "Красный", 0)
_GUICtrlListView_AddItem($hListView, "Зелёный", 1)
_GUICtrlListView_AddItem($hListView, "Синий", 2)
; Создаёт перетаскиваемое изображение
$aDrag = _GUICtrlListView_CreateDragImage($hListView, 0)
_GUICtrlListView_DrawDragImage($hListView, $aDrag)
MemoWrite("Дескриптор перетаскиваемого изображения = 0x" & Hex($aDrag[0]) & @CRLF & _
"IsPtr = " & IsPtr($aDrag[0]) & @CRLF & _
"IsHWnd = " & IsHWnd($aDrag[0]))
While 1
Switch GUIGetMsg()
Case $GUI_EVENT_MOUSEMOVE
_GUICtrlListView_DrawDragImage($hListView, $aDrag)
Case $GUI_EVENT_CLOSE
ExitLoop
EndSwitch
WEnd
; Удаляет список изображений
_GUIImageList_Destroy($aDrag[0])
GUIDelete()
EndFunc ;==>_Main
; Записывает строку в элемент для заметок
Func MemoWrite($sMessage)
GUICtrlSetData($iMemo, $sMessage & @CRLF, 1)
EndFunc ;==>MemoWrite