Jump to content

Recommended Posts

Posted (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 by LarsJ
  • 11 months later...
  • Moderators
Posted

robertcollier4,

Like this perhaps: ;)

#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

Public_Domain.png.2d871819fcb9957cf44f4514551a2935.png 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 columns
ChooseFileFolder ---- Single and multiple selections from specified path treeview listing
Date_Time_Convert -- Easily convert date/time formats, including the language used
ExtMsgBox --------- A highly customisable replacement for MsgBox
GUIExtender -------- Extend and retract multiple sections within a GUI
GUIFrame ---------- Subdivide GUIs into many adjustable frames
GUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView items
GUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeView
Marquee ----------- Scrolling tickertape GUIs
NoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxes
Notify ------------- Small notifications on the edge of the display
Scrollbars ----------Automatically sized scrollbars with a single command
StringSize ---------- Automatically size controls to fit text
Toast -------------- Small GUIs which pop out of the notification area

 

Posted (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 by robertcollier4

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...