第一次发布&非常感谢本网站上所有有用的帖子。 以下是我从本网站和ahk的主板上调整过的两个工作代码示例。对于组合盒子以及本网站的“Robert Ilbrink”,双击返回当前选择的想法和功能都归功于ahk的“garry”。
简而言之,我有两段工作代码,我希望以下列方式合并:
我正在寻找一种方法,将第二个代码示例中的双击功能添加到下面显示的组合“下拉+列表框”示例中。 *注意:如果我可以保持相同的按钮功能,那么不仅可以双击,而且还可以使用突出显示的文本按Enter键,它将检索并发送所选文本。
第一个程序(下拉列表+列表框)
gosub,ddlx
ACTIONMOVIS=MISSION|007
COMEDIMOVIS=QENGUIN|BRUSALL
HORRORMOVIS=RING|13GHOST
FANTASYMOVIE=AVATA|CHOCOLAT
Gui, Add, DropDownList,gAPLY x12 y70 w100 h100 vDROPDOWN, %LST%
Gui, Add, ListBox, x132 y70 w80 h180 vLISTBOXM
gui,Show
GuiControl,1: Choose,dropdown,Comedy ;-- << preselect
gosub,aply
return
;-- this can be interessant instead using a very long line --
DDLX:
LST=
(Ltrim Join|
Action
Horror
Comedy
Fantasy
Drama
)
return
APLY:
gui,1:submit,nohide
guicontrol,1:,LISTBOXM,|
listboxm=
If DROPDOWN=Action
LISTBOXM=%ACTIONMOVIS%
If DROPDOWN=Comedy
LISTBOXM=%COMEDIMOVIS%
If DROPDOWN=Horror
LISTBOXM=%HORRORMOVIS%
If DROPDOWN=Fantasy
LISTBOXM=%FANTASYMOVIE%
guicontrol,1:,LISTBOXM,%LISTBOXM%
listboxm=
return
GuiClose:
ExitApp
第二个程序(具有双击和输入功能的ListBox)
#SingleInstance Force
Gui, Add, ListBox, h150 w140 vMyListBox gMyListBox, MISSION|007|RING|13GHOST|QENGUIN|BRUSALL| AVATA|CHOCOLAT
Gui, Add, Button, Default, Input
Gui, +AlwaysOnTop
Gui, Show
return
MyListBox:
if A_GuiControlEvent <> DoubleClick
return
GuiControlGet, MyListBox ; Retrieve the ListBox's current selection.
Send, !{Esc}
Sleep, 200
SendInput, %MyListBox% `
return
ButtonInput:
Gui, Submit, NoHide
Send, !{Esc}
Sleep, 200
SendInput, %MyListBox% `
Return
GuiClose:
GuiEscape:
Gui, Destroy
ExitApp
再次感谢您的想法和建议。 -Alex