slaughter Posted October 24, 2007 Share Posted October 24, 2007 Here is the problem what I have. $listview = GUICtrlCreateListView ("some info |X|X|X",10,230,480,410) $listview2 = GUICtrlCreateListView ("some info|X|X|X ",500,230,480,410) if some of them is selected I nead to know witch of them was active before clicking some button I tried testing eith thease $lv1 = GUICtrlRead ( $listview, 1 ) & " " & GUICtrlGetState ( $listview ) $lv2 = GUICtrlRead ( $listview2, 1 ) & " " & GUICtrlGetState ( $listview2 ) MsgBox (1, "1", $lv1) MsgBox (1, "2", $lv2) Didint got anyting reasonable. When no selected anyting on a list view GUICtrlRead say 0 but when i select someting on a second. The selection remain and on first one... :/ How to determinate witch listwiev was selected last one before clicking button? #include <GUIConstants.au3> dim $list_item[100],$list_item2[100] $gui=GUICreate("Some Gui", 1000, 650) $listview = GUICtrlCreateListView ("some info |X|X|X",10,230,480,410) $listview2 = GUICtrlCreateListView ("some info|X|X|X ",500,230,480,410) $Button_3 = GUICtrlCreateButton ("Edit Smth...", 690, 193, 100) For $nuo = 6 to 19 step 1 If $nuo < 10 Then $laikas = "0" & $nuo & ":00" $laikasx = "0" & $nuo & ":30" EndIf If $nuo >= 10 Then $laikas = $nuo & ":00" $laikasx = $nuo & ":30" EndIf $list_item[$nuo]=GUICtrlCreateListViewItem($laikas &"|",$listview) $list_item[$nuo+24]=GUICtrlCreateListViewItem($laikasx &"|",$listview) $list_item2[$nuo]=GUICtrlCreateListViewItem($laikas &"|",$listview2) $list_item2[$nuo+24]=GUICtrlCreateListViewItem($laikasx &"|",$listview2) Next GUISetState (@SW_SHOW) While 1 $msg = GUIGetMsg($gui) If $msg = $GUI_EVENT_CLOSE Then ExitLoop If $msg = $Button_3 Then Global $listview, $listview2 $lv1 = GUICtrlRead ( $listview, 1 ) & " " & GUICtrlGetState ( $listview ) $lv2 = GUICtrlRead ( $listview2, 1 ) & " " & GUICtrlGetState ( $listview2 ) MsgBox (1, "1", $lv1) MsgBox (1, "2", $lv2) EndIf Wend In progress: Windows Server bruteforce GUARD Admin Tools (Remote client control) Bypasing firewall Old stuff: [font="Verdana;"]MD5 Auto Update Calendar XP SS multi usser server & client Autoit Remote Control (ARC)[/font] Link to comment Share on other sites More sharing options...
slaughter Posted October 24, 2007 Author Share Posted October 24, 2007 I found on forum#include <GuiConstants.au3>Global Const $WM_NOTIFY = 0x004EGlobal $DoubleClicked = FalseGUICreate("Double Click Demo", 400, 300)GUIRegisterMsg($WM_NOTIFY, "WM_NOTIFY")$ListViewID = GuiCtrlCreateListView("List Column", 10, 20, 380, 250)For $i = 1 To 10 GuiCtrlCreateListViewItem("Item " & $i, $ListViewID)NextGUISetState()While GUIGetMsg() <> -3 Sleep(10) If $DoubleClicked Then DoubleClickFunc() $DoubleClicked = False EndIfWEndFunc DoubleClickFunc() MsgBox(64, "OK", "Double Clicked: " & GUICtrlRead(GUICtrlRead($ListViewID)))EndFuncFunc WM_NOTIFY($hWnd, $MsgID, $wParam, $lParam) Local $tagNMHDR, $event, $hwndFrom, $code $tagNMHDR = DllStructCreate("int;int;int", $lParam) If @error Then Return 0 $code = DllStructGetData($tagNMHDR, 3) If $wParam = $ListViewID And $code = -3 Then $DoubleClicked = True Return $GUI_RUNDEFMSGEndFuncIt wuld be a soliution if that wuld say with listwiev was dubleclicked I have problem understandind DLLStructure.... :/ In progress: Windows Server bruteforce GUARD Admin Tools (Remote client control) Bypasing firewall Old stuff: [font="Verdana;"]MD5 Auto Update Calendar XP SS multi usser server & client Autoit Remote Control (ARC)[/font] Link to comment Share on other sites More sharing options...
Zedna Posted October 24, 2007 Share Posted October 24, 2007 expandcollapse popup#include <GUIConstants.au3> Global Const $WM_NOTIFY = 0x004E Global Const $NM_CLICK = -2 Global Const $NM_DBLCLK = -3 $Form1 = GUICreate("Test", 619, 200) $ListView1 = GUICtrlCreateListView("X|X|X", 25, 33, 266, 118) GUICtrlCreateListViewItem("1|1|1", $ListView1) $ListView2 = GUICtrlCreateListView("Y|Y|Y", 328, 33, 261, 118) GUICtrlCreateListViewItem("2|2|2", $ListView2) GUISetState(@SW_SHOW, $Form1) GUIRegisterMsg($WM_NOTIFY, "WM_Notify_Events") While 1 $msg = GuiGetMsg() Select Case $msg = $GUI_EVENT_CLOSE Exit EndSelect WEnd Func WM_Notify_Events($hWndGUI, $MsgID, $wParam, $lParam) #forceref $hWndGUI, $MsgID, $wParam Local $tagNMHDR, $event $tagNMHDR = DllStructCreate("int;int;int", $lParam) If @error Then Return $event = DllStructGetData($tagNMHDR, 3) Select Case $wParam = $ListView1 Select Case $event = $NM_CLICK onclick1() Case $event = $NM_DBLCLK OnDoubkleClick1() EndSelect Case $wParam = $ListView2 Select Case $event = $NM_CLICK onclick2() Case $event = $NM_DBLCLK OnDoubkleClick2() EndSelect EndSelect EndFunc Func onclick1() ConsoleWrite('click in ListView1' & @CRLF) ; some more code ... EndFunc Func OnDoubkleClick1() ConsoleWrite('doubleclick in ListView1' & @CRLF) ; some more code ... EndFunc Func onclick2() ConsoleWrite('click in ListView2' & @CRLF) ; some more code ... EndFunc Func OnDoubkleClick2() ConsoleWrite('doubleclick in ListView2' & @CRLF) ; some more code ... EndFunc Resources UDF ResourcesEx UDF AutoIt Forum Search Link to comment Share on other sites More sharing options...
slaughter Posted October 25, 2007 Author Share Posted October 25, 2007 (edited) Thanks for solutin it works. But now i face second problem when i use guictrldelete($listviewitem[$smtg]) then dubleclick stops working. Why is that? I create array of listviewitem's and after some time i have update listview so i delete all items using GuiCtrlDelete and update them in the same wai i created first time after tht it stops working... Func update() Global $item_list1[50] $state1 = GUICtrlGetState ( $listview ) If $state1 = -1 Then $listview = GUICtrlCreateListView ("Data|X|X|X ",10,230,480,410) Else For $it = 0 to $item_list1[0] step 1 if $item_list1[$it] <> "" Then GUICtrlDelete($item_list1[$it]) Next EndIf _ArrayAdd( $item_list1, GUICtrlCreateListViewItem ( $smth[$for], $listview )) _ArrayAdd( $item_list1, GUICtrlCreateListViewItem ( $smth[$for], $listview )) _ArrayAdd( $item_list1, GUICtrlCreateListViewItem ( $smth[$for], $listview )) _ArrayAdd( $item_list1, GUICtrlCreateListViewItem ( $smth[$for], $listview )) EndFunc Edited October 25, 2007 by slaughter In progress: Windows Server bruteforce GUARD Admin Tools (Remote client control) Bypasing firewall Old stuff: [font="Verdana;"]MD5 Auto Update Calendar XP SS multi usser server & client Autoit Remote Control (ARC)[/font] Link to comment Share on other sites More sharing options...
slaughter Posted October 26, 2007 Author Share Posted October 26, 2007 (edited) :/ any ideas why im geting this?? Edited October 26, 2007 by slaughter In progress: Windows Server bruteforce GUARD Admin Tools (Remote client control) Bypasing firewall Old stuff: [font="Verdana;"]MD5 Auto Update Calendar XP SS multi usser server & client Autoit Remote Control (ARC)[/font] Link to comment Share on other sites More sharing options...
slaughter Posted October 27, 2007 Author Share Posted October 27, 2007 Hi again. Well I noticed that if I delete gui Dubleclick stops from working on newly created listwiev's. well anyway i sorted that out in different action ;P modified script to delete items not listview Thanks all for help!!!!!! In progress: Windows Server bruteforce GUARD Admin Tools (Remote client control) Bypasing firewall Old stuff: [font="Verdana;"]MD5 Auto Update Calendar XP SS multi usser server & client Autoit Remote Control (ARC)[/font] Link to comment Share on other sites More sharing options...
Zedna Posted October 27, 2007 Share Posted October 27, 2007 (edited) Hi again. Well I noticed that if I delete gui Dubleclick stops from working on newly created listwiev's. well anyway i sorted that out in different action ;P modified script to delete items not listview Thanks all for help!!!!!! Don't do delete GUI, just do HIDE/SHOW instead.Problems are possible because newly created GUI has diferrent window handle I think there should be done new GUIRegisterMsg() call. Edited October 27, 2007 by Zedna Resources UDF ResourcesEx UDF AutoIt Forum Search Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now