示例:
Gui,6:Destroy
Gui,6:+AlwaysOnTop
;如果ListBox控件加了AltSubmit属性,触发点击事件时v标签接收的只有行号非其内容。
;设置一个g标签GuiControl_Gui接收点击事件,v标签SetLB承载控件的内容与标识
Gui,6:Add,ListBox, h150 w250 gGuiControl_Gui vSetLB HWNDhlb,item1|item2|item|item3|item4|item5
Gui,6:Add,Button,xm y+10 gGuiControl_Gui voption_0 Disabled,展开
Gui,6:Add,Button,x+10 yp gGuiControl_Gui voption_1,选择[item]项
Gui,6:Add,Button,x+10 yp gGuiControl_Gui voption_2,追加一行
Gui,6:Add,Button,xm y+10 gGuiControl_Gui voption_3,修改第4行内容
Gui,6:Add,Button,x+10 yp gGuiControl_Gui voption_4,获取第5行内容
Gui,6:Add,Button,x+10 yp gGuiControl_Gui voption_5,第3行处插入1行
Gui,6:Add,Button,xm y+10 gGuiControl_Gui voption_6,获取[item5]在列表中行号
Gui,6:Add,Button,x+10 yp gGuiControl_Gui voption_7,获取高亮选中行行号
Gui,6:Add,Button,xm y+10 gGuiControl_Gui voption_8,获取列表总行数
Gui,6:Add,Button,x+10 yp gGuiControl_Gui voption_9,获取所有列表项内容
Gui,6:Add,Button,xm y+10 gGuiControl_Gui voption_10,删除第2行
Gui,6:Add,Button,x+10 yp gGuiControl_Gui voption_11,删除[item]项
Gui,6:Add,Button,x+10 yp gGuiControl_Gui voption_12,清空列表
Gui,6:Show,AutoSize,ListBox示例
Return
GuiControl_Gui:
Switch A_GuiControl
{
Case "option_0":
Case "option_1":
Gui,+OwnDialogs
MsgBox % "选择[item]项,返回当前行号:`n" CListBox.SelectString(hlb,"item")
Case "option_2":
Gui,+OwnDialogs
MsgBox % "追加一项到列表,返回总行数:`n" (Index:=CListBox.Add(hlb,"我是新增项"))
Case "option_3":
Gui,+OwnDialogs
MsgBox % "修改第4行内容,返回1成功反之:`n" CListBox.Modify(hlb,4,"我是修改项")
Case "option_4":
Gui,+OwnDialogs
MsgBox % "获取第五行内容:`n" CListBox.GetText(hlb,5)
Case "option_5":
Gui,+OwnDialogs
MsgBox % "在第三行处插入一项,返回行号成功反之:`n" CListBox.Insert(hlb,"我是插入项",3)
Case "option_6":
Gui,+OwnDialogs
MsgBox % "获取字符[item5]项在列表中的行号:`n" CListBox.GetItemPos(hlb, "item5")
Case "option_7":
Gui,+OwnDialogs
MsgBox % "获取高亮行行号:`n" CListBox.GetCurrentSel(hlb)
Case "option_8":
Gui,+OwnDialogs
MsgBox % "获取列表总行数:`n" CListBox.GetCount(hlb)
Case "option_9":
Gui,+OwnDialogs
MsgBox % "选择所有列表项内容以指定符号分隔:`n[ " CListBox.GetAllItem(hlb,",") " ]"
CListBox.SelectString(hlb,"")
Case "option_10":
Gui,+OwnDialogs
MsgBox % "删除第二行,返回1成功反之:`n" CListBox.Delete(hlb,2)
Case "option_11":
Gui,+OwnDialogs
MsgBox % "删除[item]项,返回1成功反之:`n" CListBox.DeleteItem(hlb,"item")
Case "option_12":
Gui,+OwnDialogs
MsgBox % "清空列表:`n" CListBox.DeleteAll(hlb)
Case "SetLB":
Gui,6:Submit,NoHide
/*
如果不加==>Gui,6:Submit,NoHide就需要在用GuiControlGet获取listbox选择项内容
GuiControlGet, SetLB ,, SetLB, ListBox
如果ListBox控件加了AltSubmit属性,获取值就是选择项的行号
*/
Gui,+OwnDialogs
MsgBox % SetLB
}
Return
6GuiClose:
ExitApp
Return
基础控制函数:
如果有需要完善的地方大家可以接力完成,以此打造一个系列完整且有据可依的Gui控件操作扩展库。
补充些图片和使用说明更好点