Ветеран
Сообщения: 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
|