微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何增加由多个命令填充的搜索列表框?

如何解决如何增加由多个命令填充的搜索列表框?

我正在寻找类似于 PhiLho 的“IncrementalSearch”的可能解决方案;但是,PhiLho 会搜索通过 | 分隔的字符串填充的列表。我的列表包含条形;所以,我需要通过循环添加它。

用法

搜索的长列表框。

示例应用:

反向字典。

PhiLho 的例子:

;Tested in Version 1.1.32,works out-of-the-Box.
Gui Add,Edit,w300 h20 vsearchedString gIncrementalSearch
Gui Add,ListBox,vchoice gListBoxClick w300 h250 hscroll vscroll
Gui Add,Button,gListBoxClick Default,OK
Gosub FillListBox
Gui Show
Return

IncrementalSearch:
    Gui Submit,NoHide
    len := StrLen(searchedString)
    itemNb := 1
    Loop Parse,listContent,|
    {
        StringLeft part,A_LoopField,len
;~      Tooltip %part% (%A_LoopField%)
;~      Sleep 500
        If (part = searchedString)
        {
            itemNb := A_Index
            Break
        }
    }

    Tooltip %searchedString% (%itemNb%)
    SetTimer Hidetooltip,1000
    GuiControl Choose,choice,%itemNb%
Return

Hidetooltip:
    SetTimer Hidetooltip,Off
    Tooltip
Return

ListBoxClick:
    Gui Submit,NoHide
    MsgBox Choice: %choice%
Return

GuiClose:
GuiEscape:
ExitApp

FillListBox:
    listContent =
( Join| 
car|bicyle|train|plane|road|railway station|track|airport|control tower|wheel
red|green|pink|blue|grey|silver|black|yellow|brown|white
hair|nose|eye|ear|face|mustache|neck|collar|arm|hand|forearm|forehead
finger|thumb|palm|back|stomach|leg|thigh|foot|toe
shoe|sock|stocking|trousers|jumpsuit|skirt|blouse|dress|shirt|tie|necklace|earring
Sun|Moon|Mercure|Venus|Earth|Mars|Jupiter|Saturn|Neptun|Pluto
Africa|America|Antarctica|Asia|Australia|Europe
Canada|USA|Mexico|Guatemala|Honduras|Cuba
Gui Add|Gui Show|Gui Submit|Gui Hide|Gui Destroy
)
    GuiControl,%listContent%
Return

干净的最佳尝试:

您需要创建一个小文本文件来提供帮助:您可以使用此示例。

SAVE THIS AS c:\trash\dic.txt
Hello? | What are you doing?
My name is | I'm | They call me
Fish | (Osteichthyes),cartilaginous fish (Chondrichthyes),and jawless fish (Agnatha)
Yo' | Your

这是你的一个小尝试:

#include %A_ScriptDir%
#Persistent
SetWorkingDir %A_ScriptDir%
myFile := "C:\trash\dic.txt"

Message := []
    FileRead,Output,%myFile%
    f := strsplit(output,"`n","`r")

Gui Add,Tab3,x9 y6 w760 h501,Dic|Gloss
Gui Tab,Dic
Gui Add,x25 y35 w300 h20 vsearchedString gIncrementalSearch
Gui Add,ListView,x25 y70 w724 h415,Term|Synonym(s)
Loop,% f.count() 
{
LV_ADD("",f[A_Index])
}
Gui Show
Return

IncrementalSearch:
    Gui Submit,output,Off
    Tooltip
Return

显然它不会以这种方式工作,您无疑可以立即明白原因。任何朝着正确方向的推动将不胜感激:甚至一些伪代码解释了从难以到达的地方检索结果的流行模式,以便我可以了解如何取得进展。或者也许有一些与 ahk GUI 或 LV_Add() 相关的隐藏变量可以帮助我?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。