Ticket #1479: Temp.au3

File Temp.au3, 8.3 KB (added by SkinnyWhiteGuy <mleo2003@…>, on Feb 16, 2010 at 2:25:35 PM)
Line 
1#Region ;**** Directives created by AutoIt3Wrapper_GUI ****
2#AutoIt3Wrapper_UseX64=n
3#AutoIt3Wrapper_AU3Check_Parameters=-d -w 1 -w 2 -w 3 -w 4 -w 5 -w 6
4#EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
5#include <GuiConstantsEx.au3>
6#include <GuiListView.au3>
7#include <GuiImageList.au3>
8#include <WindowsConstants.au3>
9
10Opt('MustDeclareVars', 1)
11
12$Debug_LV = False ; Check ClassName being passed to ListView functions, set to True and use a handle to another control to see it work
13
14Global $hListView
15
16_Main()
17
18Func _Main()
19 Local $hImage
20
21 ; Create GUI
22 GUICreate("ListView Click Item", 400, 300)
23 $hListView = GUICtrlCreateListView("", 2, 2, 394, 268)
24 _GUICtrlListView_SetUnicodeFormat($hListView, False)
25 GUISetState()
26
27 GUIRegisterMsg($WM_NOTIFY, "WM_NOTIFY")
28
29 ; Load images
30 $hImage = _GUIImageList_Create()
31 _GUIImageList_Add($hImage, _GUICtrlListView_CreateSolidBitMap(GUICtrlGetHandle($hListView), 0xFF0000, 16, 16))
32 _GUIImageList_Add($hImage, _GUICtrlListView_CreateSolidBitMap(GUICtrlGetHandle($hListView), 0x00FF00, 16, 16))
33 _GUIImageList_Add($hImage, _GUICtrlListView_CreateSolidBitMap(GUICtrlGetHandle($hListView), 0x0000FF, 16, 16))
34 _GUICtrlListView_SetImageList($hListView, $hImage, 1)
35
36 ; Add columns
37 _GUICtrlListView_InsertColumn($hListView, 0, "Column 1", 100)
38 _GUICtrlListView_InsertColumn($hListView, 1, "Column 2", 100)
39 _GUICtrlListView_InsertColumn($hListView, 2, "Column 3", 100)
40
41 ; Add items
42 _GUICtrlListView_AddItem($hListView, "Row 1: Col 1", 0)
43 _GUICtrlListView_AddItem($hListView, "Row 2: Col 1", 1)
44 _GUICtrlListView_AddItem($hListView, "Row 3: Col 1", 2)
45
46 _GUICtrlListView_ClickItem($hListView, 1, "left", False, 2)
47
48 ; Loop until user exits
49 Do
50 Until GUIGetMsg() = $GUI_EVENT_CLOSE
51 GUIDelete()
52EndFunc ;==>_Main
53
54Func WM_NOTIFY($hWnd, $iMsg, $iwParam, $ilParam)
55 #forceref $hWnd, $iMsg, $iwParam
56 Local $hWndFrom, $iIDFrom, $iCode, $tNMHDR, $hWndListView, $tInfo
57 $hWndListView = $hListView
58 If Not IsHWnd($hListView) Then $hWndListView = GUICtrlGetHandle($hListView)
59
60 $tNMHDR = DllStructCreate($tagNMHDR, $ilParam)
61 $hWndFrom = HWnd(DllStructGetData($tNMHDR, "hWndFrom"))
62 $iIDFrom = DllStructGetData($tNMHDR, "IDFrom")
63 $iCode = DllStructGetData($tNMHDR, "Code")
64 Switch $hWndFrom
65 Case $hWndListView
66 Switch $iCode
67 Case $NM_CLICK ; Sent by a list-view control when the user clicks an item with the left mouse button
68 $tInfo = DllStructCreate($tagNMITEMACTIVATE, $ilParam)
69 _DebugPrint("$NM_CLICK" & @LF & "--> hWndFrom:" & @TAB & $hWndFrom & @LF & _
70 "-->IDFrom:" & @TAB & $iIDFrom & @LF & _
71 "-->Code:" & @TAB & $iCode & @LF & _
72 "-->Index:" & @TAB & DllStructGetData($tInfo, "Index") & @LF & _
73 "-->SubItem:" & @TAB & DllStructGetData($tInfo, "SubItem") & @LF & _
74 "-->NewState:" & @TAB & DllStructGetData($tInfo, "NewState") & @LF & _
75 "-->OldState:" & @TAB & DllStructGetData($tInfo, "OldState") & @LF & _
76 "-->Changed:" & @TAB & DllStructGetData($tInfo, "Changed") & @LF & _
77 "-->ActionX:" & @TAB & DllStructGetData($tInfo, "ActionX") & @LF & _
78 "-->ActionY:" & @TAB & DllStructGetData($tInfo, "ActionY") & @LF & _
79 "-->lParam:" & @TAB & DllStructGetData($tInfo, "lParam") & @LF & _
80 "-->KeyFlags:" & @TAB & DllStructGetData($tInfo, "KeyFlags"))
81 ; No return value
82 Case $NM_DBLCLK ; Sent by a list-view control when the user double-clicks an item with the left mouse button
83 $tInfo = DllStructCreate($tagNMITEMACTIVATE, $ilParam)
84 _DebugPrint("$NM_DBLCLK" & @LF & "--> hWndFrom:" & @TAB & $hWndFrom & @LF & _
85 "-->IDFrom:" & @TAB & $iIDFrom & @LF & _
86 "-->Code:" & @TAB & $iCode & @LF & _
87 "-->Index:" & @TAB & DllStructGetData($tInfo, "Index") & @LF & _
88 "-->SubItem:" & @TAB & DllStructGetData($tInfo, "SubItem") & @LF & _
89 "-->NewState:" & @TAB & DllStructGetData($tInfo, "NewState") & @LF & _
90 "-->OldState:" & @TAB & DllStructGetData($tInfo, "OldState") & @LF & _
91 "-->Changed:" & @TAB & DllStructGetData($tInfo, "Changed") & @LF & _
92 "-->ActionX:" & @TAB & DllStructGetData($tInfo, "ActionX") & @LF & _
93 "-->ActionY:" & @TAB & DllStructGetData($tInfo, "ActionY") & @LF & _
94 "-->lParam:" & @TAB & DllStructGetData($tInfo, "lParam") & @LF & _
95 "-->KeyFlags:" & @TAB & DllStructGetData($tInfo, "KeyFlags"))
96 ; No return value
97 Case $NM_RCLICK ; Sent by a list-view control when the user clicks an item with the right mouse button
98 $tInfo = DllStructCreate($tagNMITEMACTIVATE, $ilParam)
99 _DebugPrint("$NM_RCLICK" & @LF & "--> hWndFrom:" & @TAB & $hWndFrom & @LF & _
100 "-->IDFrom:" & @TAB & $iIDFrom & @LF & _
101 "-->Code:" & @TAB & $iCode & @LF & _
102 "-->Index:" & @TAB & DllStructGetData($tInfo, "Index") & @LF & _
103 "-->SubItem:" & @TAB & DllStructGetData($tInfo, "SubItem") & @LF & _
104 "-->NewState:" & @TAB & DllStructGetData($tInfo, "NewState") & @LF & _
105 "-->OldState:" & @TAB & DllStructGetData($tInfo, "OldState") & @LF & _
106 "-->Changed:" & @TAB & DllStructGetData($tInfo, "Changed") & @LF & _
107 "-->ActionX:" & @TAB & DllStructGetData($tInfo, "ActionX") & @LF & _
108 "-->ActionY:" & @TAB & DllStructGetData($tInfo, "ActionY") & @LF & _
109 "-->lParam:" & @TAB & DllStructGetData($tInfo, "lParam") & @LF & _
110 "-->KeyFlags:" & @TAB & DllStructGetData($tInfo, "KeyFlags"))
111 ;Return 1 ; not to allow the default processing
112 Return 0 ; allow the default processing
113 Case $NM_RDBLCLK ; Sent by a list-view control when the user double-clicks an item with the right mouse button
114 $tInfo = DllStructCreate($tagNMITEMACTIVATE, $ilParam)
115 _DebugPrint("$NM_RDBLCLK" & @LF & "--> hWndFrom:" & @TAB & $hWndFrom & @LF & _
116 "-->IDFrom:" & @TAB & $iIDFrom & @LF & _
117 "-->Code:" & @TAB & $iCode & @LF & _
118 "-->Index:" & @TAB & DllStructGetData($tInfo, "Index") & @LF & _
119 "-->SubItem:" & @TAB & DllStructGetData($tInfo, "SubItem") & @LF & _
120 "-->NewState:" & @TAB & DllStructGetData($tInfo, "NewState") & @LF & _
121 "-->OldState:" & @TAB & DllStructGetData($tInfo, "OldState") & @LF & _
122 "-->Changed:" & @TAB & DllStructGetData($tInfo, "Changed") & @LF & _
123 "-->ActionX:" & @TAB & DllStructGetData($tInfo, "ActionX") & @LF & _
124 "-->ActionY:" & @TAB & DllStructGetData($tInfo, "ActionY") & @LF & _
125 "-->lParam:" & @TAB & DllStructGetData($tInfo, "lParam") & @LF & _
126 "-->KeyFlags:" & @TAB & DllStructGetData($tInfo, "KeyFlags"))
127 ; No return value
128 EndSwitch
129 EndSwitch
130 Return $GUI_RUNDEFMSG
131EndFunc ;==>WM_NOTIFY
132
133Func _DebugPrint($s_text, $line = @ScriptLineNumber)
134 ConsoleWrite( _
135 "!===========================================================" & @LF & _
136 "+======================================================" & @LF & _
137 "-->Line(" & StringFormat("%04d", $line) & "):" & @TAB & $s_text & @LF & _
138 "+======================================================" & @LF)
139EndFunc ;==>_DebugPrint