SendMessage操作Listbox控件一些常用的基础控制函数

示例:

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

基础控制函数:

给TA捐赠
共{{data.count}}人
人已捐赠
其他教程案例

Numahk与机器学习 第一篇目:KNN实战

2022-7-24 6:49:15

其他函数教程案例

SendMessage操作Combobox/DropDownList控件一些常用的函数整理

2022-7-24 10:58:29

3 条回复 A文章作者 M管理员
  1. 蜜獾哥

    如果有需要完善的地方大家可以接力完成,以此打造一个系列完整且有据可依的Gui控件操作扩展库。

  2. AHK中文社区

    补充些图片和使用说明更好点

  3. dbgba
    dbgba给您打赏了¥2
个人中心
购物车
优惠劵
有新私信 私信列表
搜索