Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » [решено] Двойной щелчок мышью в GUICtrlListView

Ответить
Настройки темы
[решено] Двойной щелчок мышью в GUICtrlListView

Аватара для AzazeLHAck

Пользователь


Сообщения: 94
Благодарности: 3

Профиль | Сайт | Отправить PM | Цитировать


Здравствуйте!
Скажите, может существует какой-нибудь скрипт для того, чтобы скажем:
При двойной щелчке по одному из "Item" в "ListView", запускался MsgBox..?

-------
Взломаем же систему зла!


Отправлено: 19:46, 16-01-2011

 

Аватара для madmasles

Ветеран


Сообщения: 812
Благодарности: 353

Профиль | Отправить PM | Цитировать


читать дальше »
Код: Выделить весь код
#include <GUIConstantsEx.au3>
#include <GUIListView.au3>
#include <WindowsConstants.au3>

Global $hListView, $iLast_LV_Index, $Form1

$Form1 = GUICreate('ListView', 400, 300)
$hListView = _GUICtrlListView_Create($Form1, '', 32, 16, 340, 260)
_GUICtrlListView_InsertColumn($hListView, 0, 'Column 1', 100)
_GUICtrlListView_AddItem($hListView, 'Row 1: Col 1', 0)
_GUICtrlListView_AddItem($hListView, 'Row 2: Col 1', 1)
_GUICtrlListView_AddItem($hListView, 'Row 3: Col 1', 2)
GUISetState()
GUIRegisterMsg($WM_NOTIFY, 'WM_NOTIFY')

While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
        Case $GUI_EVENT_CLOSE
            Exit

    EndSwitch
WEnd

Func WM_NOTIFY($hWnd, $iMsg, $iwParam, $ilParam)
    Local $hWndFrom, $iCode, $tNMHDR, $hWndListView, $tInfo

    $hWndListView = $hListView
    If Not IsHWnd($hListView) Then $hWndListView = GUICtrlGetHandle($hListView)

    $tNMHDR = DllStructCreate($tagNMHDR, $ilParam)
    $hWndFrom = HWnd(DllStructGetData($tNMHDR, 'hWndFrom'))
    $iCode = DllStructGetData($tNMHDR, 'Code')

    Switch $hWndFrom
        Case $hWndListView
            Switch $iCode
                Case $NM_DBLCLK ;двойной клик левой кнопки мыши
                    $tInfo = DllStructCreate($tagNMITEMACTIVATE, $ilParam)
                    $iIndex = DllStructGetData($tInfo, 'Index')
                    If $iIndex <> -1 Then
                        $iLast_LV_Index = $iIndex
                        ToolTip(_GUICtrlListView_GetItemText($hListView, $iLast_LV_Index), 0, 0)
                    EndIf
                Case $NM_RCLICK ;один клик правой кнопки мыши
                    ToolTip('')
            EndSwitch
    EndSwitch

    Return $GUI_RUNDEFMSG
EndFunc   ;==>WM_NOTIFY


Или так:
читать дальше »
Код: Выделить весь код
#include <GUIConstantsEx.au3>
#include <StructureConstants.au3>
#include <WindowsConstants.au3>

Global $hListView, $Form1

$Form1 = GUICreate('ListView', 400, 300)
$hListView = GUICtrlCreateListView('col1  |col2|col3  ', 32, 16, 340, 260)
For $i = 1 To 10
    GUICtrlCreateListViewItem('item' & $i & '|col2' & $i & '|col3' & $i, $hListView)
Next
GUISetState()
GUIRegisterMsg($WM_NOTIFY, 'WM_NOTIFY')

While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
        Case $GUI_EVENT_CLOSE
            Exit

    EndSwitch
WEnd

Func WM_NOTIFY($hWnd, $iMsg, $iwParam, $ilParam)
    Local $hWndFrom, $iCode, $tNMHDR, $hWndListView, $tInfo

    $hWndListView = $hListView
    If Not IsHWnd($hListView) Then $hWndListView = GUICtrlGetHandle($hListView)

    $tNMHDR = DllStructCreate($tagNMHDR, $ilParam)
    $hWndFrom = HWnd(DllStructGetData($tNMHDR, 'hWndFrom'))
    $iCode = DllStructGetData($tNMHDR, 'Code')

    Switch $hWndFrom
        Case $hWndListView
            Switch $iCode
                Case $NM_DBLCLK ;двойной клик левой кнопки мыши
                    ToolTip(GUICtrlRead(GUICtrlRead($hListView)), 0, 0)
                Case $NM_RCLICK ;один клик правой кнопки мыши
                    ToolTip('')
            EndSwitch
    EndSwitch

    Return $GUI_RUNDEFMSG
EndFunc   ;==>WM_NOTIFY

Последний раз редактировалось madmasles, 16-01-2011 в 22:58.

Это сообщение посчитали полезным следующие участники:

Отправлено: 20:24, 16-01-2011 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Аватара для AzazeLHAck

Пользователь


Сообщения: 94
Благодарности: 3

Профиль | Сайт | Отправить PM | Цитировать


Я уже разобрался в первом способе, пойдёт Спасибо! Тема решена!

-------
Взломаем же систему зла!


Отправлено: 00:58, 17-01-2011 | #3



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » [решено] Двойной щелчок мышью в GUICtrlListView

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Интерфейс - Как настроить мышь на один щелчок papa6612 Microsoft Windows 7 1 30-08-2010 08:49
[решено] Вывод ErrorLogs системы в GUICtrlListView с расшифровкой кодов в отдельном окне формы saavaage AutoIt 10 22-08-2010 22:59
HDD - ST31000520AS и щелчок при выключении Deni P. Накопители (SSD, HDD, USB Flash) 8 15-04-2010 16:56
Ошибка - Двойной слеш: ..\\temp alleut Microsoft Windows 2000/XP 4 15-06-2009 18:27
Двойной МАС-адрес serius Сетевые технологии 1 23-04-2004 21:44




 
Переход