Jump to content

Auto3Lib


PaulIA
 Share

Recommended Posts

There is error/bug in latest version of Auto3Library (also in corrected A3L include files from Gary for latest beta 3.2.9)

This error wasn't in older versions of Auto3Library (it was added later).

In A3LTreeView.au3 in function _TreeView_ExpandItem() is

if _TreeView_GetCount($hWnd, $hNode) = 0 then Return True

This line of code must be removed/commented for correct behaviour in applications where child items are added after expanding (and not at treeview creation).

There is many of such applications. I discovered this bug when I made some changes to my older scrip

t using Auto3Library and recompiled it with latest AutoIt/Auto3Library version. In my case _TreeView_FindNodeEx() stopped working due to bug in _TreeView_Expand() which is called from there.

Note: In New Gary's UDF GuiTreeView.au3 this error isn't

Edited by GaryFrost
Correct name spelling
Link to comment
Share on other sites

There is error/bug in latest version of Auto3Library (also in corrected A3L include files from Garry for latest beta 3.2.9)

This error wasn't in older versions of Auto3Library (it was added later).

In A3LTreeView.au3 in function _TreeView_ExpandItem() is

if _TreeView_GetCount($hWnd, $hNode) = 0 then Return True

This line of code must be removed/commented for correct behaviour in applications where child items are added after expanding (and not at treeview creation).

There is many of such applications. I discovered this bug when I made some changes to my older scrip

t using Auto3Library and recompiled it with latest AutoIt/Auto3Library version. In my case _TreeView_FindNodeEx() stopped working due to bug in _TreeView_Expand() which is called from there.

Note: In New Gary's UDF GuiTreeView.au3 this error isn't

I didn't change the functions in the includes the these libs, just commented out the constants that were colliding with the AutoIt Includes

SciTE for AutoItDirections for Submitting Standard UDFs

 

Don't argue with an idiot; people watching may not be able to tell the difference.

 

Link to comment
Share on other sites

I didn't change the functions in the includes the these libs, just commented out the constants that were colliding with the AutoIt Includes

This bug was introduced by PaulIA already not by you. But it still resists there to these days.

EDIT: Sorry for name misspelling Gary :)

Edited by Zedna
Link to comment
Share on other sites

This bug was introduced by PaulIA already not by you. But it still resists there to these days.

EDIT: Sorry for name misspelling Gary :)

commented that line out and updated the zip I supplied.

SciTE for AutoItDirections for Submitting Standard UDFs

 

Don't argue with an idiot; people watching may not be able to tell the difference.

 

Link to comment
Share on other sites

Link to comment
Share on other sites

@all

I am confused ?!

I thought the A3L_Includes where included in the latest Beta, correct.

Thanks to GaryFrost efforts !!

Why needing to download this, as a separate file ?

regards

ptrex

Not all of it, and for those that haven't converted over yet to the beta, the fix to the includes are there.

If someone wants to compare what is in the beta and this lib and figure out a way to put together what is left, have fun.

SciTE for AutoItDirections for Submitting Standard UDFs

 

Don't argue with an idiot; people watching may not be able to tell the difference.

 

Link to comment
Share on other sites

I greatly appreciate the added functionality of the Tree View automation. I'm trying to use it currently, but I an running into a problem. I'm trying to figure out if it is me setting something up wrong, or what.

Whenever I used the _TreeView_SetChecked() routine, it works fine for the original state of the Check Box on a Tree View. The problem comes in whenever I try to get the Check Box to go back to the original state after being toggled. I can supply the scripts that I am using, and a sample executable that I am using if needed for verification. Is this a known issue?

I apologize if this has already been addressed, and a search didn't find it.

Link to comment
Share on other sites

I greatly appreciate the added functionality of the Tree View automation. I'm trying to use it currently, but I an running into a problem. I'm trying to figure out if it is me setting something up wrong, or what.

Whenever I used the _TreeView_SetChecked() routine, it works fine for the original state of the Check Box on a Tree View. The problem comes in whenever I try to get the Check Box to go back to the original state after being toggled. I can supply the scripts that I am using, and a sample executable that I am using if needed for verification. Is this a known issue?

I apologize if this has already been addressed, and a search didn't find it.

AFAIK SetChecked doesn't toggle, you either set it to checked or not checked.

Same as _GUICtrlTreeView_SetChecked in the beta

SciTE for AutoItDirections for Submitting Standard UDFs

 

Don't argue with an idiot; people watching may not be able to tell the difference.

 

Link to comment
Share on other sites

I didn't supply enough information.

I didn't think that the routine toggled. I was trying to accomplish a "toggle" of the check box. It was on, now off, and then back on ( or visa versa ). Two calls effectively to accomplish this.

Since my other post, I have noticed something interesting. I have also tried the ControlTreeView() in the beta as well, and get the same type of result. Whenever I apply the check, if I do a sleep, and then do an uncheck. It works like it should. But, if I were to apply the Check. Then run the script again to try and Uncheck, the Check Box, it never works again.

This doesn't make any sense to me. This would make sense to me if I were using a Handle that had become invalid, and now it wouldn't change anything. But, the script gets the Handle ( the Auto3lib way, or with the ControlTreeView() routine in the modified way to use the beta code ) each time it is run.

I'm scratching my head on this one. I have the feeling that the answer is something REALLY simple. Usually whenever I spend this much time on something it ends up being something that I have overlooked. But, I can't think of what is. If I could, I'd already have it fixed. HEHE!

Link to comment
Share on other sites

I didn't supply enough information.

I didn't think that the routine toggled. I was trying to accomplish a "toggle" of the check box. It was on, now off, and then back on ( or visa versa ). Two calls effectively to accomplish this.

Since my other post, I have noticed something interesting. I have also tried the ControlTreeView() in the beta as well, and get the same type of result. Whenever I apply the check, if I do a sleep, and then do an uncheck. It works like it should. But, if I were to apply the Check. Then run the script again to try and Uncheck, the Check Box, it never works again.

This doesn't make any sense to me. This would make sense to me if I were using a Handle that had become invalid, and now it wouldn't change anything. But, the script gets the Handle ( the Auto3lib way, or with the ControlTreeView() routine in the modified way to use the beta code ) each time it is run.

I'm scratching my head on this one. I have the feeling that the answer is something REALLY simple. Usually whenever I spend this much time on something it ends up being something that I have overlooked. But, I can't think of what is. If I could, I'd already have it fixed. HEHE!

Have you tried using _GUICtrlTreeView_GetChecked , _GUICtrlTreeView_SetChecked?

SciTE for AutoItDirections for Submitting Standard UDFs

 

Don't argue with an idiot; people watching may not be able to tell the difference.

 

Link to comment
Share on other sites

I made this reply once but for some reason it's missing.

Here is a function that works for me.

Func _GUICtrlTreeView_ToggleChecked($hWnd, $hItem)
   If _GUICtrlTreeView_GetChecked ($hWnd, $hItem)  Then 
      _GUICtrlTreeView_SetChecked ($hWnd, $hItem, False)
   Else
      _GUICtrlTreeView_SetChecked ($hWnd, $hItem)
   EndIf
EndFunc;<==> _GUICtrlTreeView_ToggleChecked($hWnd, $hItem)

Use GUICtrlGetHandle() for $hItem

Feel free Gary

Edit:

Example

#include <GUIConstants.au3>
#include <TreeViewConstants.au3>
#include <GuiTreeView.au3>
GUICreate ("Toggle Test", 250, 120)
Global $TreeV = GUICtrlCreateTreeView (10, 10, 232, 100, BitOR ($TVS_CHECKBOXES, $TVS_HASBUTTONS, $TVS_HASLINES, $TVS_LINESATROOT, $TVS_DISABLEDRAGDROP, $TVS_SHOWSELALWAYS))
Global $TvI_1 = GUICtrlCreateTreeViewItem ("Item 1", $TreeV)
Global $Tvi_2 = GUICtrlCreateTreeViewItem ("Item 2", $TvI_1)
Global $Tvi_3 = GUICtrlCreateTreeViewItem ("Item 3", $TvI_1)
Global $Tvi_3 = GUICtrlCreateTreeViewItem ("Item 4", $TvI_1)
Global $Tvi_5 = GUICtrlCreateTreeViewItem ("Item 5", $TreeV)

GUISetState ()

While 1
   $msg = GUIGetMsg ()
   
   Switch $msg
      Case $GUI_EVENT_CLOSE
         ExitLoop
      Case $TvI_1 To $Tvi_5
         _GUICtrlTreeView_ToggleChecked($TreeV, $Msg)
   EndSwitch
WEnd

Func _GUICtrlTreeView_ToggleChecked($hWnd, $hItem)
   If _GUICtrlTreeView_GetChecked ($hWnd, $hItem)  Then 
      _GUICtrlTreeView_SetChecked ($hWnd, $hItem, False)
   Else
      _GUICtrlTreeView_SetChecked ($hWnd, $hItem)
   EndIf
EndFunc ;<==> _GUICtrlTreeView_ToggleChecked($hWnd, $hItem)

The only problem is that If you click on the checkbox it won't toggle. You have to click the item text. Maybe someone else will figure that one out.

Edited by GEOSoft

George

Question about decompiling code? Read the decompiling FAQ and don't bother posting the question in the forums.

Be sure to read and follow the forum rules. -AKA the AutoIt Reading and Comprehension Skills test.***

The PCRE (Regular Expression) ToolKit for AutoIT - (Updated Oct 20, 2011 ver:3.0.1.13) - Please update your current version before filing any bug reports. The installer now includes both 32 and 64 bit versions. No change in version number.

Visit my Blog .. currently not active but it will soon be resplendent with news and views. Also please remove any links you may have to my website. it is soon to be closed and replaced with something else.

"Old age and treachery will always overcome youth and skill!"

Link to comment
Share on other sites

I made this reply once but for some reason it's missing.

Here is a function that works for me.

Func _GUICtrlTreeView_ToggleChecked($hWnd, $hItem)
   If _GUICtrlTreeView_GetChecked ($hWnd, $hItem)  Then 
      _GUICtrlTreeView_SetChecked ($hWnd, $hItem, False)
   Else
      _GUICtrlTreeView_SetChecked ($hWnd, $hItem)
   EndIf
EndFunc;<==> _GUICtrlTreeView_ToggleChecked($hWnd, $hItem)

Use GUICtrlGetHandle() for $hItem

Feel free Gary

Edit:

Example

#include <GUIConstants.au3>
#include <TreeViewConstants.au3>
#include <GuiTreeView.au3>
GUICreate ("Toggle Test", 250, 120)
Global $TreeV = GUICtrlCreateTreeView (10, 10, 232, 100, BitOR ($TVS_CHECKBOXES, $TVS_HASBUTTONS, $TVS_HASLINES, $TVS_LINESATROOT, $TVS_DISABLEDRAGDROP, $TVS_SHOWSELALWAYS))
Global $TvI_1 = GUICtrlCreateTreeViewItem ("Item 1", $TreeV)
Global $Tvi_2 = GUICtrlCreateTreeViewItem ("Item 2", $TvI_1)
Global $Tvi_3 = GUICtrlCreateTreeViewItem ("Item 3", $TvI_1)
Global $Tvi_3 = GUICtrlCreateTreeViewItem ("Item 4", $TvI_1)
Global $Tvi_5 = GUICtrlCreateTreeViewItem ("Item 5", $TreeV)

GUISetState ()

While 1
   $msg = GUIGetMsg ()
   
   Switch $msg
      Case $GUI_EVENT_CLOSE
         ExitLoop
      Case $TvI_1 To $Tvi_5
         _GUICtrlTreeView_ToggleChecked($TreeV, $Msg)
   EndSwitch
WEnd

Func _GUICtrlTreeView_ToggleChecked($hWnd, $hItem)
   If _GUICtrlTreeView_GetChecked ($hWnd, $hItem)  Then 
      _GUICtrlTreeView_SetChecked ($hWnd, $hItem, False)
   Else
      _GUICtrlTreeView_SetChecked ($hWnd, $hItem)
   EndIf
EndFunc;<==> _GUICtrlTreeView_ToggleChecked($hWnd, $hItem)

The only problem is that If you click on the checkbox it won't toggle. You have to click the item text. Maybe someone else will figure that one out.

actually your wrong it does work when you click on the check box, think about it, if it is already unchecked and you click the check box, you have checked, the toggle fires, guess what.....

Func _GUICtrlTreeView_ToggleChecked($hWnd, $hItem)
    ConsoleWrite("Toggle fired" & @LF)
   If _GUICtrlTreeView_GetChecked ($hWnd, $hItem)  Then
      _GUICtrlTreeView_SetChecked ($hWnd, $hItem, False)
   Else
      _GUICtrlTreeView_SetChecked ($hWnd, $hItem)
   EndIf
EndFunc ;<==> _GUICtrlTreeView_ToggleChecked($hWnd, $hItem)

SciTE for AutoItDirections for Submitting Standard UDFs

 

Don't argue with an idiot; people watching may not be able to tell the difference.

 

Link to comment
Share on other sites

actually your wrong it does work when you click on the check box, think about it, if it is already unchecked and you click the check box, you have checked, the toggle fires, guess what.....

Func _GUICtrlTreeView_ToggleChecked($hWnd, $hItem)
    ConsoleWrite("Toggle fired" & @LF)
   If _GUICtrlTreeView_GetChecked ($hWnd, $hItem)  Then
      _GUICtrlTreeView_SetChecked ($hWnd, $hItem, False)
   Else
      _GUICtrlTreeView_SetChecked ($hWnd, $hItem)
   EndIf
EndFunc ;<==> _GUICtrlTreeView_ToggleChecked($hWnd, $hItem)
I should have worded that differently because I knew that is what happens. I just have not got the energy to look for the solution at the moment.

Anyone that wants to can go ahead and solve the problem. :)

Actually I did take a quick look at using ControlTreeView() but no matter what I tried it returned 0 for GetCheckedState.

Edited by GEOSoft

George

Question about decompiling code? Read the decompiling FAQ and don't bother posting the question in the forums.

Be sure to read and follow the forum rules. -AKA the AutoIt Reading and Comprehension Skills test.***

The PCRE (Regular Expression) ToolKit for AutoIT - (Updated Oct 20, 2011 ver:3.0.1.13) - Please update your current version before filing any bug reports. The installer now includes both 32 and 64 bit versions. No change in version number.

Visit my Blog .. currently not active but it will soon be resplendent with news and views. Also please remove any links you may have to my website. it is soon to be closed and replaced with something else.

"Old age and treachery will always overcome youth and skill!"

Link to comment
Share on other sites

How do I capture text with $LVM_GETITEMTEXT

$hListVie = ControlGetHandle("WindowTitle", "", "SysListView323")
_ListView_Scroll($hListVie, 0, 0)
$RandomClick = Random(2, 11, 1)
_ListView_ClickItem($hListVie, $RandomClick, "Left", False, 1, 0)

Now how do I capture this line?

_ListView_xxxxx??

Edited by Oldschool
Link to comment
Share on other sites

Try this example from the BETA HELPFILE

#include <GuiConstants.au3>
#include <GuiListView.au3>
#include <GuiStatusBar.au3>

Opt('MustDeclareVars', 1)

$Debug_LV = False ; Check ClassName being passed to ListView functions, set to True and use a handle to another control to see it work

Global $hListView, $hStatus

Example_Internal()
Example_External()

Func Example_Internal()
    Local $hGUI
    
    $hGUI = GUICreate("(Internal) ListView Get Hot Item", 392, 322)

    $hListView = GUICtrlCreateListView("", 2, 2, 394, 268)
    $hListView = GUICtrlGetHandle($hListView)
    _GUICtrlListView_SetExtendedListViewStyle ($hListView, BitOR($LVS_EX_FULLROWSELECT, $LVS_EX_GRIDLINES, $LVS_EX_TRACKSELECT))
    $hStatus = _GUICtrlStatusBar_Create($hGUI)
    _GUICtrlStatusBar_SetSimple ($hStatus, True)
    GUISetState()

    ; Add columns
    _GuiCtrlListView_AddColumn ($hListView, "Column 1", 100)
    _GuiCtrlListView_AddColumn ($hListView, "Column 2", 100)
    _GuiCtrlListView_AddColumn ($hListView, "Column 3", 100)

    ; Add items
    _GuiCtrlListView_AddItem ($hListView, "Row 1: Col 1")
    _GuiCtrlListView_AddSubItem ($hListView, 0, "Row 1: Col 2", 1)
    _GuiCtrlListView_AddSubItem ($hListView, 0, "Row 1: Col 3", 2)
    _GuiCtrlListView_AddItem ($hListView, "Row 2: Col 1")
    _GuiCtrlListView_AddSubItem ($hListView, 1, "Row 2: Col 2", 1)
    _GuiCtrlListView_AddItem ($hListView, "Row 3: Col 1")

    ;Register WM_NOTIFY  events
    GUIRegisterMsg($WM_NOTIFY, "WM_NOTIFY")

    ; Loop until user exits
    Do
    Until GUIGetMsg() = $GUI_EVENT_CLOSE
    GUIDelete()
EndFunc   ;==>Example_Internal

Func Example_External()
    Local $hGUI
    $hGUI = GUICreate("(External) ListView Get Hot Item", 392, 322)

    $hListView = _GUICtrlListView_Create ($hGUI, "", 40, 30, 310, 149)
    _GUICtrlListView_SetExtendedListViewStyle ($hListView, BitOR($LVS_EX_FULLROWSELECT, $LVS_EX_GRIDLINES, $LVS_EX_TRACKSELECT))
    $hStatus = _GUICtrlStatusBar_Create($hGUI)
    _GUICtrlStatusBar_SetSimple ($hStatus, True)
    GUISetState()

    ; Add columns
    _GuiCtrlListView_AddColumn ($hListView, "Column 1", 100)
    _GuiCtrlListView_AddColumn ($hListView, "Column 2", 100)
    _GuiCtrlListView_AddColumn ($hListView, "Column 3", 100)

    ; Add items
    _GuiCtrlListView_AddItem ($hListView, "Row 1: Col 1")
    _GuiCtrlListView_AddSubItem ($hListView, 0, "Row 1: Col 2", 1)
    _GuiCtrlListView_AddSubItem ($hListView, 0, "Row 1: Col 3", 2)
    _GuiCtrlListView_AddItem ($hListView, "Row 2: Col 1")
    _GuiCtrlListView_AddSubItem ($hListView, 1, "Row 2: Col 2", 1)
    _GuiCtrlListView_AddItem ($hListView, "Row 3: Col 1")

    ;Register WM_NOTIFY  events
    GUIRegisterMsg($WM_NOTIFY, "WM_NOTIFY")

    ; Loop until user exits
    Do
    Until GUIGetMsg() = $GUI_EVENT_CLOSE
    GUIDelete()
EndFunc   ;==>Example_External

Func ListView_HOTTRACK($iItem, $iSubItem)
    Local $HotItem = _GUICtrlListView_GetHotItem ($hListView)
    If $HotItem <> -1 Then _GUICtrlStatusBar_SetText($hStatus, "Hot Item: " & $HotItem & " SubItem: " & $iSubItem)
EndFunc   ;==>ListView_HOTTRACK

Func WM_NOTIFY($hWnd, $iMsg, $iwParam, $ilParam)
    Local $hWndFrom, $iIDFrom, $iCode, $tNMHDR, $hWndListView
    $hWndListView = $hListView
    If Not IsHWnd($hListView) Then $hWndListView = GUICtrlGetHandle($hListView)

    $tNMHDR = DllStructCreate($tagNMHDR, $ilParam)
    $hWndFrom = HWnd(DllStructGetData($tNMHDR, "hWndFrom"))
    $iIDFrom = DllStructGetData($tNMHDR, "IDFrom")
    $iCode = DllStructGetData($tNMHDR, "Code")
    Switch $hWndFrom
        Case $hWndListView
            Switch $iCode
;~              Case $LVN_BEGINDRAG ; A drag-and-drop operation involving the left mouse button is being initiated
;~                  Local $tInfo = DllStructCreate($tagNMLISTVIEW, $ilParam)
;~                  _DebugPrint("$LVN_BEGINDRAG" & @LF & "--> hWndFrom:" & @TAB & $hWndFrom & @LF & _
;~                          "-->IDFrom:" & @TAB & $iIDFrom & @LF & _
;~                          "-->Code:" & @TAB & $iCode & @LF & _
;~                          "-->Item:" & @TAB & DllStructGetData($tInfo, "Item") & @LF & _
;~                          "-->SubItem:" & @TAB & DllStructGetData($tInfo, "SubItem") & @LF & _
;~                          "-->NewState:" & @TAB & DllStructGetData($tInfo, "NewState") & @LF & _
;~                          "-->OldState:" & @TAB & DllStructGetData($tInfo, "OldState") & @LF & _
;~                          "-->Changed:" & @TAB & DllStructGetData($tInfo, "Changed") & @LF & _
;~                          "-->ActionX:" & @TAB & DllStructGetData($tInfo, "ActionX") & @LF & _
;~                          "-->ActionY:" & @TAB & DllStructGetData($tInfo, "ActionY") & @LF & _
;~                          "-->Param:" & @TAB & DllStructGetData($tInfo, "Param"))
;~                  ; No return value
;~              Case $LVN_BEGINLABELEDIT ; Start of label editing for an item
;~                  Local $tInfo = DllStructCreate($tagNMLVDISPINFO, $ilParam)
;~                  _DebugPrint("$LVN_BEGINLABELEDIT" & @LF & "--> hWndFrom:" & @TAB & $hWndFrom & @LF & _
;~                          "-->IDFrom:" & @TAB & $iIDFrom & @LF & _
;~                          "-->Code:" & @TAB & $iCode & @LF & _
;~                          "-->Mask:" & @TAB & DllStructGetData($tInfo, "Mask") & @LF & _
;~                          "-->Item:" & @TAB & DllStructGetData($tInfo, "Item") & @LF & _
;~                          "-->SubItem:" & @TAB & DllStructGetData($tInfo, "SubItem") & @LF & _
;~                          "-->State:" & @TAB & DllStructGetData($tInfo, "State") & @LF & _
;~                          "-->StateMask:" & @TAB & DllStructGetData($tInfo, "StateMask") & @LF & _
;~                          "-->Image:" & @TAB & DllStructGetData($tInfo, "Image") & @LF & _
;~                          "-->Param:" & @TAB & DllStructGetData($tInfo, "Param") & @LF & _
;~                          "-->Indent:" & @TAB & DllStructGetData($tInfo, "Indent") & @LF & _
;~                          "-->GroupID:" & @TAB & DllStructGetData($tInfo, "GroupID") & @LF & _
;~                          "-->Columns:" & @TAB & DllStructGetData($tInfo, "Columns") & @LF & _
;~                          "-->pColumns:" & @TAB & DllStructGetData($tInfo, "pColumns"))
;~                  Return False ; Allow the user to edit the label
;~                  ;Return True  ; Prevent the user from editing the label
;~              Case $LVN_BEGINRDRAG ; A drag-and-drop operation involving the right mouse button is being initiated
;~                  Local $tInfo = DllStructCreate($tagNMLISTVIEW, $ilParam)
;~                  _DebugPrint("$LVN_BEGINRDRAG" & @LF & "--> hWndFrom:" & @TAB & $hWndFrom & @LF & _
;~                          "-->IDFrom:" & @TAB & $iIDFrom & @LF & _
;~                          "-->Code:" & @TAB & $iCode & @LF & _
;~                          "-->Item:" & @TAB & DllStructGetData($tInfo, "Item") & @LF & _
;~                          "-->SubItem:" & @TAB & DllStructGetData($tInfo, "SubItem") & @LF & _
;~                          "-->NewState:" & @TAB & DllStructGetData($tInfo, "NewState") & @LF & _
;~                          "-->OldState:" & @TAB & DllStructGetData($tInfo, "OldState") & @LF & _
;~                          "-->Changed:" & @TAB & DllStructGetData($tInfo, "Changed") & @LF & _
;~                          "-->ActionX:" & @TAB & DllStructGetData($tInfo, "ActionX") & @LF & _
;~                          "-->ActionY:" & @TAB & DllStructGetData($tInfo, "ActionY") & @LF & _
;~                          "-->Param:" & @TAB & DllStructGetData($tInfo, "Param"))
;~                  ; No return value
;~              Case $LVN_BEGINSCROLL ; A scrolling operation starts, Minium OS WinXP
;~                  Local $tInfo = DllStructCreate($tagNMLVSCROLL, $ilParam)
;~                  _DebugPrint("$LVN_BEGINSCROLL" & @LF & "--> hWndFrom:" & @TAB & $hWndFrom & @LF & _
;~                          "-->IDFrom:" & @TAB & $iIDFrom & @LF & _
;~                          "-->Code:" & @TAB & $iCode & @LF & _
;~                          "-->DX:" & @TAB & DllStructGetData($tInfo, "DX") & @LF & _
;~                          "-->DY:" & @TAB & DllStructGetData($tInfo, "DY"))
;~                  ; No return value
                Case $LVN_COLUMNCLICK ; A column was clicked
                    Local $tInfo = DllStructCreate($tagNMLISTVIEW, $ilParam)
                    _DebugPrint("$LVN_COLUMNCLICK" & @LF & "--> hWndFrom:" & @TAB & $hWndFrom & @LF & _
                            "-->IDFrom:" & @TAB & $iIDFrom & @LF & _
                            "-->Code:" & @TAB & $iCode & @LF & _
                            "-->Item:" & @TAB & DllStructGetData($tInfo, "Item") & @LF & _
                            "-->SubItem:" & @TAB & DllStructGetData($tInfo, "SubItem") & @LF & _
                            "-->NewState:" & @TAB & DllStructGetData($tInfo, "NewState") & @LF & _
                            "-->OldState:" & @TAB & DllStructGetData($tInfo, "OldState") & @LF & _
                            "-->Changed:" & @TAB & DllStructGetData($tInfo, "Changed") & @LF & _
                            "-->ActionX:" & @TAB & DllStructGetData($tInfo, "ActionX") & @LF & _
                            "-->ActionY:" & @TAB & DllStructGetData($tInfo, "ActionY") & @LF & _
                            "-->Param:" & @TAB & DllStructGetData($tInfo, "Param"))
                    ; No return value
;~              Case $LVN_DELETEALLITEMS ; All items in the control are about to be deleted
;~                  Local $tInfo = DllStructCreate($tagNMLISTVIEW, $ilParam)
;~                  _DebugPrint("$LVN_DELETEALLITEMS" & @LF & "--> hWndFrom:" & @TAB & $hWndFrom & @LF & _
;~                          "-->IDFrom:" & @TAB & $iIDFrom & @LF & _
;~                          "-->Code:" & @TAB & $iCode & @LF & _
;~                          "-->Item:" & @TAB & DllStructGetData($tInfo, "Item") & @LF & _
;~                          "-->SubItem:" & @TAB & DllStructGetData($tInfo, "SubItem") & @LF & _
;~                          "-->NewState:" & @TAB & DllStructGetData($tInfo, "NewState") & @LF & _
;~                          "-->OldState:" & @TAB & DllStructGetData($tInfo, "OldState") & @LF & _
;~                          "-->Changed:" & @TAB & DllStructGetData($tInfo, "Changed") & @LF & _
;~                          "-->ActionX:" & @TAB & DllStructGetData($tInfo, "ActionX") & @LF & _
;~                          "-->ActionY:" & @TAB & DllStructGetData($tInfo, "ActionY") & @LF & _
;~                          "-->Param:" & @TAB & DllStructGetData($tInfo, "Param"))
;~                  Return True ; To suppress subsequent $LVN_DELETEITEM messages
;~                  ;Return False ; To receive subsequent $LVN_DELETEITEM messages
                Case $LVN_DELETEITEM ; An item is about to be deleted
                    Local $tInfo = DllStructCreate($tagNMLISTVIEW, $ilParam)
                    _DebugPrint("$LVN_DELETEITEM" & @LF & "--> hWndFrom:" & @TAB & $hWndFrom & @LF & _
                            "-->IDFrom:" & @TAB & $iIDFrom & @LF & _
                            "-->Code:" & @TAB & $iCode & @LF & _
                            "-->Item:" & @TAB & DllStructGetData($tInfo, "Item") & @LF & _
                            "-->SubItem:" & @TAB & DllStructGetData($tInfo, "SubItem") & @LF & _
                            "-->NewState:" & @TAB & DllStructGetData($tInfo, "NewState") & @LF & _
                            "-->OldState:" & @TAB & DllStructGetData($tInfo, "OldState") & @LF & _
                            "-->Changed:" & @TAB & DllStructGetData($tInfo, "Changed") & @LF & _
                            "-->ActionX:" & @TAB & DllStructGetData($tInfo, "ActionX") & @LF & _
                            "-->ActionY:" & @TAB & DllStructGetData($tInfo, "ActionY") & @LF & _
                            "-->Param:" & @TAB & DllStructGetData($tInfo, "Param"))
                    ; No return value
;~              Case $LVN_ENDLABELEDIT ; The end of label editing for an item
;~                  Local $tInfo = DllStructCreate($tagNMLVDISPINFO, $ilParam)
;~                  Local $tBuffer = DllStructCreate("char Text[" & DllStructGetData($tInfo, "TextMax") & "]", DllStructGetData($tInfo, "Text"))
;~                  _DebugPrint("$LVN_ENDLABELEDIT" & @LF & "--> hWndFrom:" & @TAB & $hWndFrom & @LF & _
;~                          "-->IDFrom:" & @TAB & $iIDFrom & @LF & _
;~                          "-->Code:" & @TAB & $iCode & @LF & _
;~                          "-->Mask:" & @TAB & DllStructGetData($tInfo, "Mask") & @LF & _
;~                          "-->Item:" & @TAB & DllStructGetData($tInfo, "Item") & @LF & _
;~                          "-->SubItem:" & @TAB & DllStructGetData($tInfo, "SubItem") & @LF & _
;~                          "-->State:" & @TAB & DllStructGetData($tInfo, "State") & @LF & _
;~                          "-->StateMask:" & @TAB & DllStructGetData($tInfo, "StateMask") & @LF & _
;~                          "-->Text:" & @TAB & DllStructGetData($tBuffer, "Text") & @LF & _
;~                          "-->TextMax:" & @TAB & DllStructGetData($tInfo, "TextMax") & @LF & _
;~                          "-->Image:" & @TAB & DllStructGetData($tInfo, "Image") & @LF & _
;~                          "-->Param:" & @TAB & DllStructGetData($tInfo, "Param") & @LF & _
;~                          "-->Indent:" & @TAB & DllStructGetData($tInfo, "Indent") & @LF & _
;~                          "-->GroupID:" & @TAB & DllStructGetData($tInfo, "GroupID") & @LF & _
;~                          "-->Columns:" & @TAB & DllStructGetData($tInfo, "Columns") & @LF & _
;~                          "-->pColumns:" & @TAB & DllStructGetData($tInfo, "pColumns"))
;~                  ; If Text is not empty, return True to set the item's label to the edited text, return false to reject it
;~                  ; If Text is empty the return value is ignored
;~                  Return True
;~              Case $LVN_ENDSCROLL ; A scrolling operation ends, Minium OS WinXP
;~                  Local $tInfo = DllStructCreate($tagNMLVSCROLL, $ilParam)
;~                  _DebugPrint("$LVN_ENDSCROLL" & @LF & "--> hWndFrom:" & @TAB & $hWndFrom & @LF & _
;~                          "-->IDFrom:" & @TAB & $iIDFrom & @LF & _
;~                          "-->Code:" & @TAB & $iCode & @LF & _
;~                          "-->DX:" & @TAB & DllStructGetData($tInfo, "DX") & @LF & _
;~                          "-->DY:" & @TAB & DllStructGetData($tInfo, "DY"))
;~                  ; No return value
;~              Case $LVN_GETDISPINFO ; Provide information needed to display or sort a list-view item
;~                  Local $tInfo = DllStructCreate($tagNMLVDISPINFO, $ilParam)
;~                  Local $tBuffer = DllStructCreate("char Text[" & DllStructGetData($tInfo, "TextMax") & "]", DllStructGetData($tInfo, "Text"))
;~                  _DebugPrint("$LVN_GETDISPINFO" & @LF & "--> hWndFrom:" & @TAB & $hWndFrom & @LF & _
;~                          "-->IDFrom:" & @TAB & $iIDFrom & @LF & _
;~                          "-->Code:" & @TAB & $iCode & @LF & _
;~                          "-->Mask:" & @TAB & DllStructGetData($tInfo, "Mask") & @LF & _
;~                          "-->Item:" & @TAB & DllStructGetData($tInfo, "Item") & @LF & _
;~                          "-->SubItem:" & @TAB & DllStructGetData($tInfo, "SubItem") & @LF & _
;~                          "-->State:" & @TAB & DllStructGetData($tInfo, "State") & @LF & _
;~                          "-->StateMask:" & @TAB & DllStructGetData($tInfo, "StateMask") & @LF & _
;~                          "-->Text:" & @TAB & DllStructGetData($tBuffer, "Text") & @LF & _
;~                          "-->TextMax:" & @TAB & DllStructGetData($tInfo, "TextMax") & @LF & _
;~                          "-->Image:" & @TAB & DllStructGetData($tInfo, "Image") & @LF & _
;~                          "-->Param:" & @TAB & DllStructGetData($tInfo, "Param") & @LF & _
;~                          "-->Indent:" & @TAB & DllStructGetData($tInfo, "Indent") & @LF & _
;~                          "-->GroupID:" & @TAB & DllStructGetData($tInfo, "GroupID") & @LF & _
;~                          "-->Columns:" & @TAB & DllStructGetData($tInfo, "Columns") & @LF & _
;~                          "-->pColumns:" & @TAB & DllStructGetData($tInfo, "pColumns"))
;~                  ; No return value
;~              Case $LVN_GETINFOTIP ; Sent by a large icon view list-view control that has the $LVS_EX_INFOTIP extended style
;~                  Local $tInfo = DllStructCreate($tagNMLVGETINFOTIP, $ilParam)
;~                  Local $tBuffer = DllStructCreate("char Text[" & DllStructGetData($tInfo, "TextMax") & "]", DllStructGetData($tInfo, "Text"))
;~                  _DebugPrint("$LVN_GETINFOTIP" & @LF & "--> hWndFrom:" & @TAB & $hWndFrom & @LF & _
;~                          "-->IDFrom:" & @TAB & $iIDFrom & @LF & _
;~                          "-->Code:" & @TAB & $iCode & @LF & _
;~                          "-->Flags:" & @TAB & DllStructGetData($tInfo, "Flags") & @LF & _
;~                          "-->Text:" & @TAB & DllStructGetData($tBuffer, "Text") & @LF & _
;~                          "-->TextMax:" & @TAB & DllStructGetData($tInfo, "TextMax") & @LF & _
;~                          "-->Item:" & @TAB & DllStructGetData($tInfo, "Item") & @LF & _
;~                          "-->SubItem:" & @TAB & DllStructGetData($tInfo, "SubItem") & @LF & _
;~                          "-->lParam:" & @TAB & DllStructGetData($tInfo, "lParam"))
;~                  ; No return value
                Case $LVN_HOTTRACK ; Sent by a list-view control when the user moves the mouse over an item
                    Local $tInfo = DllStructCreate($tagNMLISTVIEW, $ilParam)
                    ListView_HOTTRACK(DllStructGetData($tInfo, "Item"), DllStructGetData($tInfo, "SubItem"))
;~                  _DebugPrint("$LVN_HOTTRACK" & @LF & "--> hWndFrom:" & @TAB & $hWndFrom & @LF & _
;~                          "-->IDFrom:" & @TAB & $iIDFrom & @LF & _
;~                          "-->Code:" & @TAB & $iCode & @LF & _
;~                          "-->Item:" & @TAB & DllStructGetData($tInfo, "Item") & @LF & _
;~                          "-->SubItem:" & @TAB & DllStructGetData($tInfo, "SubItem") & @LF & _
;~                          "-->NewState:" & @TAB & DllStructGetData($tInfo, "NewState") & @LF & _
;~                          "-->OldState:" & @TAB & DllStructGetData($tInfo, "OldState") & @LF & _
;~                          "-->Changed:" & @TAB & DllStructGetData($tInfo, "Changed") & @LF & _
;~                          "-->ActionX:" & @TAB & DllStructGetData($tInfo, "ActionX") & @LF & _
;~                          "-->ActionY:" & @TAB & DllStructGetData($tInfo, "ActionY") & @LF & _
;~                          "-->Param:" & @TAB & DllStructGetData($tInfo, "Param"))
                    Return 0 ; allow the list view to perform its normal track select processing.
                    ;Return 1 ; the item will not be selected.
;~              Case $LVN_INSERTITEM ; A new item was inserted
;~                  Local $tInfo = DllStructCreate($tagNMLISTVIEW, $ilParam)
;~                  _DebugPrint("$LVN_INSERTITEM" & @LF & "--> hWndFrom:" & @TAB & $hWndFrom & @LF & _
;~                          "-->IDFrom:" & @TAB & $iIDFrom & @LF & _
;~                          "-->Code:" & @TAB & $iCode & @LF & _
;~                          "-->Item:" & @TAB & DllStructGetData($tInfo, "Item") & @LF & _
;~                          "-->SubItem:" & @TAB & DllStructGetData($tInfo, "SubItem") & @LF & _
;~                          "-->NewState:" & @TAB & DllStructGetData($tInfo, "NewState") & @LF & _
;~                          "-->OldState:" & @TAB & DllStructGetData($tInfo, "OldState") & @LF & _
;~                          "-->Changed:" & @TAB & DllStructGetData($tInfo, "Changed") & @LF & _
;~                          "-->ActionX:" & @TAB & DllStructGetData($tInfo, "ActionX") & @LF & _
;~                          "-->ActionY:" & @TAB & DllStructGetData($tInfo, "ActionY") & @LF & _
;~                          "-->Param:" & @TAB & DllStructGetData($tInfo, "Param"))
;~                  ; No return value
;~              Case $LVN_ITEMACTIVATE ; Sent by a list-view control when the user activates an item
;~                  Local $tInfo = DllStructCreate($tagNMITEMACTIVATE, $ilParam)
;~                  _DebugPrint("$LVN_ITEMACTIVATE" & @LF & "--> hWndFrom:" & @TAB & $hWndFrom & @LF & _
;~                          "-->IDFrom:" & @TAB & $iIDFrom & @LF & _
;~                          "-->Code:" & @TAB & $iCode & @LF & _
;~                          "-->Index:" & @TAB & DllStructGetData($tInfo, "Index") & @LF & _
;~                          "-->SubItem:" & @TAB & DllStructGetData($tInfo, "SubItem") & @LF & _
;~                          "-->NewState:" & @TAB & DllStructGetData($tInfo, "NewState") & @LF & _
;~                          "-->OldState:" & @TAB & DllStructGetData($tInfo, "OldState") & @LF & _
;~                          "-->Changed:" & @TAB & DllStructGetData($tInfo, "Changed") & @LF & _
;~                          "-->ActionX:" & @TAB & DllStructGetData($tInfo, "ActionX") & @LF & _
;~                          "-->ActionY:" & @TAB & DllStructGetData($tInfo, "ActionY") & @LF & _
;~                          "-->lParam:" & @TAB & DllStructGetData($tInfo, "lParam") & @LF & _
;~                          "-->KeyFlags:" & @TAB & DllStructGetData($tInfo, "KeyFlags"))
;~                  Return 0
;~              Case $LVN_ITEMCHANGED ; An item has changed
;~                  Local $tInfo = DllStructCreate($tagNMLISTVIEW, $ilParam)
;~                  _DebugPrint("$LVN_ITEMCHANGED" & @LF & "--> hWndFrom:" & @TAB & $hWndFrom & @LF & _
;~                          "-->IDFrom:" & @TAB & $iIDFrom & @LF & _
;~                          "-->Code:" & @TAB & $iCode & @LF & _
;~                          "-->Item:" & @TAB & DllStructGetData($tInfo, "Item") & @LF & _
;~                          "-->SubItem:" & @TAB & DllStructGetData($tInfo, "SubItem") & @LF & _
;~                          "-->NewState:" & @TAB & DllStructGetData($tInfo, "NewState") & @LF & _
;~                          "-->OldState:" & @TAB & DllStructGetData($tInfo, "OldState") & @LF & _
;~                          "-->Changed:" & @TAB & DllStructGetData($tInfo, "Changed") & @LF & _
;~                          "-->ActionX:" & @TAB & DllStructGetData($tInfo, "ActionX") & @LF & _
;~                          "-->ActionY:" & @TAB & DllStructGetData($tInfo, "ActionY") & @LF & _
;~                          "-->Param:" & @TAB & DllStructGetData($tInfo, "Param"))
;~                  ; No return value
;~              Case $LVN_ITEMCHANGING ; An item is changing
;~                  Local $tInfo = DllStructCreate($tagNMLISTVIEW, $ilParam)
;~                  _DebugPrint("$LVN_ITEMCHANGING" & @LF & "--> hWndFrom:" & @TAB & $hWndFrom & @LF & _
;~                          "-->IDFrom:" & @TAB & $iIDFrom & @LF & _
;~                          "-->Code:" & @TAB & $iCode & @LF & _
;~                          "-->Item:" & @TAB & DllStructGetData($tInfo, "Item") & @LF & _
;~                          "-->SubItem:" & @TAB & DllStructGetData($tInfo, "SubItem") & @LF & _
;~                          "-->NewState:" & @TAB & DllStructGetData($tInfo, "NewState") & @LF & _
;~                          "-->OldState:" & @TAB & DllStructGetData($tInfo, "OldState") & @LF & _
;~                          "-->Changed:" & @TAB & DllStructGetData($tInfo, "Changed") & @LF & _
;~                          "-->ActionX:" & @TAB & DllStructGetData($tInfo, "ActionX") & @LF & _
;~                          "-->ActionY:" & @TAB & DllStructGetData($tInfo, "ActionY") & @LF & _
;~                          "-->Param:" & @TAB & DllStructGetData($tInfo, "Param"))
;~                  Return True ; prevent the change
;~                  ;Return False ; allow the change
                Case $LVN_KEYDOWN ; A key has been pressed
                    Local $tInfo = DllStructCreate($tagNMLVKEYDOWN, $ilParam)
                    _DebugPrint("$LVN_KEYDOWN" & @LF & "--> hWndFrom:" & @TAB & $hWndFrom & @LF & _
                            "-->IDFrom:" & @TAB & $iIDFrom & @LF & _
                            "-->Code:" & @TAB & $iCode & @LF & _
                            "-->VKey:" & @TAB & DllStructGetData($tInfo, "VKey") & @LF & _
                            "-->Flags:" & @TAB & DllStructGetData($tInfo, "Flags"))
                    ; No return value
;~              Case $LVN_MARQUEEBEGIN ; A bounding box (marquee) selection has begun
;~                  _DebugPrint("$LVN_MARQUEEBEGIN" & @LF & "--> hWndFrom:" & @TAB & $hWndFrom & @LF & _
;~                          "-->IDFrom:" & @TAB & $iIDFrom & @LF & _
;~                          "-->Code:" & @TAB & $iCode)
;~                  Return 0 ; accept the message
;~                  ;Return 1 ; quit the bounding box selection
;~              Case $LVN_SETDISPINFO ; Update the information it maintains for an item
;~                  Local $tInfo = DllStructCreate($tagNMLVDISPINFO, $ilParam)
;~                  Local $tBuffer = DllStructCreate("char Text[" & DllStructGetData($tInfo, "TextMax") & "]", DllStructGetData($tInfo, "Text"))
;~                  _DebugPrint("$LVN_SETDISPINFO" & @LF & "--> hWndFrom:" & @TAB & $hWndFrom & @LF & _
;~                          "-->IDFrom:" & @TAB & $iIDFrom & @LF & _
;~                          "-->Code:" & @TAB & $iCode & @LF & _
;~                          "-->Mask:" & @TAB & DllStructGetData($tInfo, "Mask") & @LF & _
;~                          "-->Item:" & @TAB & DllStructGetData($tInfo, "Item") & @LF & _
;~                          "-->SubItem:" & @TAB & DllStructGetData($tInfo, "SubItem") & @LF & _
;~                          "-->State:" & @TAB & DllStructGetData($tInfo, "State") & @LF & _
;~                          "-->StateMask:" & @TAB & DllStructGetData($tInfo, "StateMask") & @LF & _
;~                          "-->Text:" & @TAB & DllStructGetData($tBuffer, "Text") & @LF & _
;~                          "-->TextMax:" & @TAB & DllStructGetData($tInfo, "TextMax") & @LF & _
;~                          "-->Image:" & @TAB & DllStructGetData($tInfo, "Image") & @LF & _
;~                          "-->Param:" & @TAB & DllStructGetData($tInfo, "Param") & @LF & _
;~                          "-->Indent:" & @TAB & DllStructGetData($tInfo, "Indent") & @LF & _
;~                          "-->GroupID:" & @TAB & DllStructGetData($tInfo, "GroupID") & @LF & _
;~                          "-->Columns:" & @TAB & DllStructGetData($tInfo, "Columns") & @LF & _
;~                          "-->pColumns:" & @TAB & DllStructGetData($tInfo, "pColumns"))
;~                  ; No return value
                Case $NM_CLICK ; Sent by a list-view control when the user clicks an item with the left mouse button
                    Local $tInfo = DllStructCreate($tagNMITEMACTIVATE, $ilParam)
                    _DebugPrint("$NM_CLICK" & @LF & "--> hWndFrom:" & @TAB & $hWndFrom & @LF & _
                            "-->IDFrom:" & @TAB & $iIDFrom & @LF & _
                            "-->Code:" & @TAB & $iCode & @LF & _
                            "-->Index:" & @TAB & DllStructGetData($tInfo, "Index") & @LF & _
                            "-->SubItem:" & @TAB & DllStructGetData($tInfo, "SubItem") & @LF & _
                            "-->NewState:" & @TAB & DllStructGetData($tInfo, "NewState") & @LF & _
                            "-->OldState:" & @TAB & DllStructGetData($tInfo, "OldState") & @LF & _
                            "-->Changed:" & @TAB & DllStructGetData($tInfo, "Changed") & @LF & _
                            "-->ActionX:" & @TAB & DllStructGetData($tInfo, "ActionX") & @LF & _
                            "-->ActionY:" & @TAB & DllStructGetData($tInfo, "ActionY") & @LF & _
                            "-->lParam:" & @TAB & DllStructGetData($tInfo, "lParam") & @LF & _
                            "-->KeyFlags:" & @TAB & DllStructGetData($tInfo, "KeyFlags"))
                    ; No return value
                Case $NM_DBLCLK ; Sent by a list-view control when the user double-clicks an item with the left mouse button
                    Local $tInfo = DllStructCreate($tagNMITEMACTIVATE, $ilParam)
                    _DebugPrint("$NM_DBLCLK" & @LF & "--> hWndFrom:" & @TAB & $hWndFrom & @LF & _
                            "-->IDFrom:" & @TAB & $iIDFrom & @LF & _
                            "-->Code:" & @TAB & $iCode & @LF & _
                            "-->Index:" & @TAB & DllStructGetData($tInfo, "Index") & @LF & _
                            "-->SubItem:" & @TAB & DllStructGetData($tInfo, "SubItem") & @LF & _
                            "-->NewState:" & @TAB & DllStructGetData($tInfo, "NewState") & @LF & _
                            "-->OldState:" & @TAB & DllStructGetData($tInfo, "OldState") & @LF & _
                            "-->Changed:" & @TAB & DllStructGetData($tInfo, "Changed") & @LF & _
                            "-->ActionX:" & @TAB & DllStructGetData($tInfo, "ActionX") & @LF & _
                            "-->ActionY:" & @TAB & DllStructGetData($tInfo, "ActionY") & @LF & _
                            "-->lParam:" & @TAB & DllStructGetData($tInfo, "lParam") & @LF & _
                            "-->KeyFlags:" & @TAB & DllStructGetData($tInfo, "KeyFlags"))
                    ; No return value
;~              Case $NM_HOVER ; Sent by a list-view control when the mouse hovers over an item
;~                  _DebugPrint("$NM_HOVER" & @LF & "--> hWndFrom:" & @TAB & $hWndFrom & @LF & _
;~                          "-->IDFrom:" & @TAB & $iIDFrom & @LF & _
;~                          "-->Code:" & @TAB & $iCode)
;~                  Return 0 ; process the hover normally
;~                  ;Return 1 ; prevent the hover from being processed
                Case $NM_KILLFOCUS ; The control has lost the input focus
                    _DebugPrint("$NM_KILLFOCUS" & @LF & "--> hWndFrom:" & @TAB & $hWndFrom & @LF & _
                            "-->IDFrom:" & @TAB & $iIDFrom & @LF & _
                            "-->Code:" & @TAB & $iCode)
                    ; No return value
                Case $NM_RCLICK ; Sent by a list-view control when the user clicks an item with the right mouse button
                    Local $tInfo = DllStructCreate($tagNMITEMACTIVATE, $ilParam)
                    _DebugPrint("$NM_RCLICK" & @LF & "--> hWndFrom:" & @TAB & $hWndFrom & @LF & _
                            "-->IDFrom:" & @TAB & $iIDFrom & @LF & _
                            "-->Code:" & @TAB & $iCode & @LF & _
                            "-->Index:" & @TAB & DllStructGetData($tInfo, "Index") & @LF & _
                            "-->SubItem:" & @TAB & DllStructGetData($tInfo, "SubItem") & @LF & _
                            "-->NewState:" & @TAB & DllStructGetData($tInfo, "NewState") & @LF & _
                            "-->OldState:" & @TAB & DllStructGetData($tInfo, "OldState") & @LF & _
                            "-->Changed:" & @TAB & DllStructGetData($tInfo, "Changed") & @LF & _
                            "-->ActionX:" & @TAB & DllStructGetData($tInfo, "ActionX") & @LF & _
                            "-->ActionY:" & @TAB & DllStructGetData($tInfo, "ActionY") & @LF & _
                            "-->lParam:" & @TAB & DllStructGetData($tInfo, "lParam") & @LF & _
                            "-->KeyFlags:" & @TAB & DllStructGetData($tInfo, "KeyFlags"))
                    ;Return 1 ; not to allow the default processing
                    Return 0 ; allow the default processing
                Case $NM_RDBLCLK ; Sent by a list-view control when the user double-clicks an item with the right mouse button
                    Local $tInfo = DllStructCreate($tagNMITEMACTIVATE, $ilParam)
                    _DebugPrint("$NM_RDBLCLK" & @LF & "--> hWndFrom:" & @TAB & $hWndFrom & @LF & _
                            "-->IDFrom:" & @TAB & $iIDFrom & @LF & _
                            "-->Code:" & @TAB & $iCode & @LF & _
                            "-->Index:" & @TAB & DllStructGetData($tInfo, "Index") & @LF & _
                            "-->SubItem:" & @TAB & DllStructGetData($tInfo, "SubItem") & @LF & _
                            "-->NewState:" & @TAB & DllStructGetData($tInfo, "NewState") & @LF & _
                            "-->OldState:" & @TAB & DllStructGetData($tInfo, "OldState") & @LF & _
                            "-->Changed:" & @TAB & DllStructGetData($tInfo, "Changed") & @LF & _
                            "-->ActionX:" & @TAB & DllStructGetData($tInfo, "ActionX") & @LF & _
                            "-->ActionY:" & @TAB & DllStructGetData($tInfo, "ActionY") & @LF & _
                            "-->lParam:" & @TAB & DllStructGetData($tInfo, "lParam") & @LF & _
                            "-->KeyFlags:" & @TAB & DllStructGetData($tInfo, "KeyFlags"))
                    ; No return value
                Case $NM_RETURN ; The control has the input focus and that the user has pressed the ENTER key
                    _DebugPrint("$NM_RETURN" & @LF & "--> hWndFrom:" & @TAB & $hWndFrom & @LF & _
                            "-->IDFrom:" & @TAB & $iIDFrom & @LF & _
                            "-->Code:" & @TAB & $iCode)
                    ; No return value
                Case $NM_SETFOCUS ; The control has received the input focus
                    _DebugPrint("$NM_SETFOCUS" & @LF & "--> hWndFrom:" & @TAB & $hWndFrom & @LF & _
                            "-->IDFrom:" & @TAB & $iIDFrom & @LF & _
                            "-->Code:" & @TAB & $iCode)
                    ; No return value
            EndSwitch
    EndSwitch
    Return $GUI_RUNDEFMSG
EndFunc   ;==>WM_NOTIFY

Func _DebugPrint($s_text, $line = @ScriptLineNumber)
    ConsoleWrite( _
            "!===========================================================" & @LF & _
            "+======================================================" & @LF & _
            "-->Line(" & StringFormat("%04d", $line) & "):" & @TAB & $s_text & @LF & _
            "+======================================================" & @LF)
EndFunc   ;==>_DebugPrint
Link to comment
Share on other sites

EDIT:

$hListVie = ControlGetHandle("WindowTitle", "", "SysListView323")
_ListView_Scroll($hListVie, 0, 0)
$Item = 11
_ListView_ClickItem($hListVie, $Item, "Left", False, 1, 0)

Now how do I capture this line?

$ItemText = _ListView_GetItemText($Item, "") ?

or if I wanted to search for text within the item...

$sText = mytext

If _ListView_FindInText($Item, $sText) = 0 Then

Blah blah blah...

Is this correct syntax? Does _ListView_FindInText() return a value?

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...