| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 704 人关注过本帖
标题:咨询VFP9中如何模拟COMBOX控件右侧下拉按钮被按下
只看楼主 加入收藏
shschy
Rank: 2
等 级:论坛游民
帖 子:87
专家分:20
注 册:2022-3-13
结帖率:33.33%
收藏
已结贴  问题点数:20 回复次数:9 
咨询VFP9中如何模拟COMBOX控件右侧下拉按钮被按下
VFP窗口操作展示过程需要自动演示
希望能模拟鼠标操作,展示某combox控件右侧下拉按钮被按下,将combox的rousource内容都展示出来


WAIT WINDOW "" TIMEOUT 0.2
&& 求 右侧下拉按钮按下 代码 (click和downclick都是无效的)
WAIT WINDOW "" TIMEOUT 0.2

搜索更多相关主题的帖子: 控件 下拉 按钮 COMBOX 模拟 
2023-06-29 06:49
csyx
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:火星
等 级:版主
威 望:37
帖 子:709
专家分:2848
注 册:2018-3-13
收藏
得分:7 
Keyboard '{F4}' 或者 Keyboard '{ALT+DNARROW}'

这家伙很懒,啥也没留下
2023-06-29 07:24
shschy
Rank: 2
等 级:论坛游民
帖 子:87
专家分:20
注 册:2022-3-13
收藏
得分:0 
回复 2楼 csyx 这两个代码单独结尾时有效,但后面有其它代码就无效
控件command1.click (执行有效)
thisform.text_zh.DownClick
WAIT windows "下面 执行 thisform.text_zh.Click" nowait
thisform.text_zh.Click
WAIT windows "下面 执行 Keyboard '{F4}' 或者 Keyboard '{ALT+DNARROW}'" nowait
thisform.text_zh.setFocus
KEYBOARD "{F4}"
图片附件: 游客没有浏览图片的权限,请 登录注册


但后面有其它代码后,就不会展示下拉控件显示rowsource 部分内容的效果

控件command2.click (执行无效)
thisform.text_zh.setfocus
KEYBOARD "{F4}"
*
=INKEY(5) &&延时5秒
WAIT WINDOW "..." TIMEOUT 5.2
thisform.text_zh.Value="newtest"
2023-06-29 09:21
csyx
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:火星
等 级:版主
威 望:37
帖 子:709
专家分:2848
注 册:2018-3-13
收藏
得分:0 
晕死,这不废话嘛,inkey、wait 这些语句都要读键盘输入,F4 放它们前面还轮得到下拉框读取?

这家伙很懒,啥也没留下
2023-06-29 09:31
shschy
Rank: 2
等 级:论坛游民
帖 子:87
专家分:20
注 册:2022-3-13
收藏
得分:0 
回复 4楼 csyx 谢谢提醒,已屏蔽keyboard()和wait语句,现在需要收起下拉菜单
已修改,请再指点一下,如何收起combox控件的下拉菜单,第二次执行 KEYBOARD "{F4}" 后界面无变化
thisform.text_zh.DownClick
WAIT windows "下面 执行 thisform.text_zh.Click" nowait
thisform.text_zh.Click
WAIT windows "下面 执行 Keyboard '{F4}' 或者 Keyboard '{ALT+DNARROW}'" nowait
thisform.text_zh.setFocus
KEYBOARD "{F4}"
&& WAIT windows "开始循环延时5秒" nowait
k=1
l=1
a_time=TTOC(DATETIME())
FOR i=1 TO 50000  
    k=k+1
    l=1
    m=1
    FOR l=1 TO 1000
        m=m+1
    endfor   
endfor   
b_time=TTOC(DATETIME())      
KEYBOARD "{F4}"
thisform.text_zh.value="newtest"
&& MESSAGEBOX(a_time+CHR(13)+b_time)
thisform.text_zh.setFocus
2023-06-29 11:31
shschy
Rank: 2
等 级:论坛游民
帖 子:87
专家分:20
注 册:2022-3-13
收藏
得分:0 
需要按钮实现效果是:combox下拉菜单打开显示3-5秒,combox控件赋值显示,再等待3-5秒,combox控件下拉菜单收回,类似演示效果。谢谢!
2023-06-29 11:34
csyx
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:火星
等 级:版主
威 望:37
帖 子:709
专家分:2848
注 册:2018-3-13
收藏
得分:0 
用计时器

这家伙很懒,啥也没留下
2023-06-29 11:41
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:451
帖 子:10609
专家分:43210
注 册:2014-5-20
收藏
得分:7 
如果可以的话,最好不要用combbox,自己封装一个带列表的类好操作点。
2023-06-29 12:52
厨师王德榜
Rank: 18Rank: 18Rank: 18Rank: 18Rank: 18
等 级:贵宾
威 望:199
帖 子:995
专家分:4966
注 册:2013-2-16
收藏
得分:7 
用2个 Timer控件可做 ,
一个Timer负责当"卷帘大将" ,
另一个Timer负责每隔几秒指挥"卷帘大将" 干活,
图片附件: 游客没有浏览图片的权限,请 登录注册

另外,吹版的意见是对的,这种适合自己封装一个类.

[此贴子已经被作者于2023-6-29 15:06编辑过]

2023-06-29 14:47
shschy
Rank: 2
等 级:论坛游民
帖 子:87
专家分:20
注 册:2022-3-13
收藏
得分:0 
谢谢大家!我这里为了方便,采取代码修改combox控件坐标,将其left值改为很大,移出窗口。
我这里遇到以下问题,
1)Keyboard '{F4}'有效,但 Keyboard '{ALT+DNARROW}'会在combox控件中显示乱码,不知为了么。人工操作ALT+向下箭头,可以达到combox下拉菜单打开收回。
2)我曾经尝试combox.visible=.f.,但发现combox控件不见了,combox打开的下拉菜单缺会继续显示。所以采取修改left值来隐藏。
谢谢版主,谢谢各位。
2023-07-03 11:24
快速回复:咨询VFP9中如何模拟COMBOX控件右侧下拉按钮被按下
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.018862 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved