Code: Select all
;AHK v2
;ComboBox (Edit control + drop-down list) example
;note: alt+down to display the drop-down list
#SingleInstance force
;oSearchHist := StrSplit("abcdefghijklmnopqrstuvwxyz0123456789")
oSearchHist := []
oGui := GuiCreate(, "MyWinTitle")
oGui.OnEvent("Close", "Gui_Close")
hGui := oGui.hWnd
oGui.SetFont("s18")
oCbx := oGui.Add("ComboBox", "R8", oSearchHist)
hCbx := oCbx.hWnd
oBtn := oGui.Add("Button", "Hidden Default", "OK")
oBtn.OnEvent("Click", "OnSearch")
oGui.Show()
return
;==================================================
;Proposed New GUI API for AutoHotkey v2 - Page 11 - AutoHotkey Community
;https://autohotkey.com/boards/viewtopic.php?f=37&t=2998&p=144660#p144660
;Added Ctrl.Add(ArrayOrList) and Ctrl.Delete([index]) for ListBox/ComboBox/DDL/Tab. Add works like GuiControl or Value:= in previous builds. Delete deletes one item or all items.
OnSearch()
{
global hCbx, oCbx, oSearchHist
;vNeedle := ControlGetText(, "ahk_id " hCbx)
vNeedle := oCbx.Text
if (vNeedle = "")
return
for vKey, vValue in oSearchHist
if (vValue = vNeedle)
{
vKeyDel := vKey
break
}
if !(vKeyDel = "")
oSearchHist.RemoveAt(vKeyDel)
oSearchHist.InsertAt(1, vNeedle)
oCbx.Delete()
oCbx.Add(oSearchHist)
oCbx.Value := 1
}
Gui_Close()
{
ExitApp()
}