Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Программы » AutoIT (Часть 3)

Модерирует : gyra, Maz

gyra (23-01-2020 10:51): AutoIT (Часть 4)  Версия для печати • ПодписатьсяДобавить в закладки
На первую страницук этому сообщениюк последнему сообщению

   

madmasles

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Код:
#include <GUIConstantsEx.au3>
#include <GuiListView.au3>
#include <WindowsConstants.au3>
 
Global $fDrag = False, $iOld, $sOld;, $sNew
Dim $aData[11] = [10]
 
For $i = 1 To $aData[0]
    $aData[$i] = 'Flight Crew ' & StringFormat('%02d', $i)
Next
 
$hMainGui = GUICreate('Test', 200, 250, -1, -1)
$hListView = GUICtrlCreateListView('Name', 10, 10, 180, 230)
GUICtrlSendMsg($hListView, $LVM_SETEXTENDEDLISTVIEWSTYLE, $LVS_EX_GRIDLINES, $LVS_EX_GRIDLINES)
 
For $i = 1 To $aData[0]
    GUICtrlCreateListViewItem($aData[$i], $hListView)
Next
GUICtrlSendMsg($hListView, $LVM_SETCOLUMNWIDTH, 0, -1)
GUIRegisterMsg($WM_NOTIFY, 'WM_NOTIFY')
GUISetState()
 
While 1
    Switch GUIGetMsg()
        Case $GUI_EVENT_CLOSE
            Exit
    EndSwitch
WEnd
 
Func WM_NOTIFY($hWnd, $iMsg, $iwParam, $ilParam)
    Local $hWndFrom, $iIDFrom, $iCode, $tNMHDR, $hWndListView, $tInfo
 
    If Not IsHWnd($hListView) Then $hListView = GUICtrlGetHandle($hListView)
    $tNMHDR = DllStructCreate($tagNMHDR, $ilParam)
    $hWndFrom = HWnd(DllStructGetData($tNMHDR, 'hWndFrom'))
    $iCode = DllStructGetData($tNMHDR, 'Code')
    Switch $hWndFrom
        Case $hListView
            Switch $iCode
                Case $LVN_BEGINDRAG
                    $tInfo = DllStructCreate($tagNMITEMACTIVATE, $ilParam)
                    $iItem = DllStructGetData($tInfo, 'Index')
                    $iOld = $iItem
                    $sOld = _GUICtrlListView_GetItemText($hListView, $iOld)
                    $fDrag = True
                Case $LVN_HOTTRACK
                    If $fDrag Then
                        $tInfo = DllStructCreate($tagNMITEMACTIVATE, $ilParam)
                        $iItem = DllStructGetData($tInfo, 'Index')
                        If $iItem > -1 And $iItem < _GUICtrlListView_GetItemCount($hListView) Then
                            ;перетаскивать
                            _GUICtrlListView_DeleteItem($hListView, $iOld)
                            _GUICtrlListView_InsertItem($hListView, $sOld, $iItem)
                            ;менять местами:
                            ;$sNew = _GUICtrlListView_GetItemText($hListView, $iItem)
                            ;_GUICtrlListView_SetItemText($hListView, $iItem, $sOld)
                            ;_GUICtrlListView_SetItemText($hListView, $iOld, $sNew)
                        EndIf
                        $fDrag = False
                    EndIf
            EndSwitch
    EndSwitch
    Return $GUI_RUNDEFMSG
EndFunc   ;==>WM_NOTIFY

Всего записей: 1277 | Зарегистр. 25-09-2008 | Отправлено: 01:39 14-06-2011 | Исправлено: madmasles, 15:00 14-06-2011
   

На первую страницук этому сообщениюк последнему сообщению

Компьютерный форум Ru.Board » Компьютеры » Программы » AutoIT (Часть 3)
gyra (23-01-2020 10:51): AutoIT (Часть 4)


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru