LarsJ Posted April 9, 2012 Posted April 9, 2012 (edited) Just a small comment to this thread. With Yashied's solution in post #16 you can get NM_RETURN notifications in both a ListView and a TreeView. Edited April 9, 2012 by LarsJ pixelsearch 1 Controls, File Explorer, ROT objects, UI Automation, Windows Message MonitorCompiled code: Accessing AutoIt variables, DotNet.au3 UDF, Using C# and VB codeShell menus: The Context menu, The Favorites menu. Shell related: Control Panel, System Image ListsGraphics related: Rubik's Cube, OpenGL without external libraries, Navigating in an image, Non-rectangular selectionsListView controls: Colors and fonts, Multi-line header, Multi-line items, Checkboxes and icons, Incremental searchListView controls: Virtual ListViews, Editing cells, Data display functions
robertcollier4 Posted March 29, 2013 Posted March 29, 2013 Any way to detect an Enter keyboard press in a Listview with Opt("GUIOnEventMode", 1)?
Moderators Melba23 Posted March 29, 2013 Moderators Posted March 29, 2013 robertcollier4, Like this perhaps: expandcollapse popup#include <GUIConstantsEx.au3> #include <WinAPI.au3> Opt("GUIOnEventMode", 1) $hGUI = GUICreate("Test", 500, 500) GUISetOnEvent($GUI_EVENT_CLOSE, "_Exit") $cListView = GUICtrlCreateListView("Item List", 10, 10, 300, 300) $hLV = GUICtrlGetHandle($cListView) For $i = 1 To 10 GUICtrlCreateListViewItem("Item " & $i, $cListView) Next $cInPut = GUICtrlCreateInput("", 10, 400, 200, 20) $cEnter_Dummy = GUICtrlCreateDummy() GUICtrlSetOnEvent(-1, "_Enter") GUISetState() Local $aAccelKeys[1][2] = [["{ENTER}", $cEnter_Dummy]] GUISetAccelerators($aAccelKeys) While 1 Sleep(10) WEnd Func _Exit() Exit EndFunc Func _Enter() If _WinAPI_GetFocus() = $hLV Then MsgBox(0, "Hi", "Enter pressed in ListView") EndIf EndFunc M23 argumentum 1 Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind Open spoiler to see my UDFs: Spoiler ArrayMultiColSort ---- Sort arrays on multiple columnsChooseFileFolder ---- Single and multiple selections from specified path treeview listingDate_Time_Convert -- Easily convert date/time formats, including the language usedExtMsgBox --------- A highly customisable replacement for MsgBoxGUIExtender -------- Extend and retract multiple sections within a GUIGUIFrame ---------- Subdivide GUIs into many adjustable framesGUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView itemsGUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeViewMarquee ----------- Scrolling tickertape GUIsNoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxesNotify ------------- Small notifications on the edge of the displayScrollbars ----------Automatically sized scrollbars with a single commandStringSize ---------- Automatically size controls to fit textToast -------------- Small GUIs which pop out of the notification area
robertcollier4 Posted March 29, 2013 Posted March 29, 2013 (edited) Thanks Melba23. I got it working based on your example but setting the event on my ListView instead of a dummy control: $hListView1 = GUICtrlCreateListView("", 0, 130, 800, 460, $LVS_SINGLESEL, $LVS_EX_FULLROWSELECT) GUICtrlSetOnEvent(-1, '_hListView1') Dim $aAccelKeys[2][2] = [['{SPACE}', $hListView1], ['{ENTER}', $hListView1]] GUISetAccelerators($aAccelKeys) Func _hListView1() $rowNum = _GUICtrlListView_GetSelectedIndices($hListView1, False) If(($rowNum <> "") AND ($rowNum <> -1)) Then MsgBox(0,0,"Pushed Space or Enter in Row Number: " & $rowNum) EndIf EndFunc Edited March 29, 2013 by robertcollier4
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