jd19970829 发表于 2011-2-24 00:13:07

怎样勾选ListBox中的多个checkbox?

一个listbox中包含了很多个checkbox,比如这样的一个listbox

用ControlCommand函数中的"Check", ""功能,只能将这些checkbox选中,但是不能勾选它们前面的那个小方框,必须使用键盘发送一个空格或者鼠标点击一下,才能勾选上那个小方框,有没有什么办法能够之间选中checkbox勾选上小方框?

happytc 发表于 2011-2-24 01:07:36

$hwd = WinGetHandle("Windows 组件向导")
WinActivate($hwd)
Send("{SPACE}")

jd19970829 发表于 2011-3-2 01:22:51

这个不是解决的办法了,这样模拟键盘和鼠标只能实现一次勾选,如果我是第2次呢?或者我这个CHECKBOX已经勾选中的呢?我再模拟键盘输入一下空格不是就取消我的选中状态了吗?
必须要有一个能够判断选中状态的办法才行啊。

touch_xu 发表于 2011-3-2 05:26:36

用窗口信息工具获取控件,然后判断选中状态

pusofalse 发表于 2011-3-2 16:27:37

ListBox控件根本没有CheckBox样式,这都是加了LBS_OWNERDRAWFIXED样式之后在WM_DRAWITEM消息中自己画的。

jd19970829 发表于 2011-3-3 01:48:35

回复 4# touch_xu


    用窗口信息工具是不能获取到这个list里面的单个checkbox的,只能获取到整个的listview,但是我是要操作其中的checkbox.

jd19970829 发表于 2011-3-3 01:49:57

回复 5# pusofalse


    那这个问题该怎样解决呢?怎能能够获得这个listview中的这些看起来像是checkbox的单个控件是否被勾选的状态?
页: [1]
查看完整版本: 怎样勾选ListBox中的多个checkbox?