| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1523 人关注过本帖
标题:关于列表框的click、dblclick和rightclick方法问题
只看楼主 加入收藏
曾震
Rank: 1
等 级:新手上路
帖 子:57
专家分:0
注 册:2011-9-8
结帖率:72.73%
收藏
已结贴  问题点数:20 回复次数:7 
关于列表框的click、dblclick和rightclick方法问题
    我在表单上创建了一个列表框,本来是想通过单击、右键弹出菜单或者双击等方式弹出一个对话框,通过对话框选择文件夹路径,把所选的文件夹内符合条件的文件名读入到该列表框中,可是这三个方法都行不通,原因是这几个事件根本就不能激活,不知道是设置的问题还是软件的问题,只有mousedown事件能够激活,但是这样的话制作的软件用起来怪怪的!谁有相似的经历交流一下,找找原因啊?
搜索更多相关主题的帖子: 文件夹 软件 对话框 制作 
2011-09-08 20:14
茵梦湖
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:贵宾
威 望:31
帖 子:545
专家分:2180
注 册:2009-4-25
收藏
得分:10 

不会吧?? 怎么可能激不活呢??~  你将如下代码存到 .prg扩展名的文件中, 运行之~

fmTest1=createobject("fmTest1")
fmTest1.show(1)
define class fmTest1 as form
   autocenter =.t.
   width =200
   height=360
   add object lst1 as listbox  with top=30, height=300, left=30, width=140,rowsourcetype=1,rowsource="红,深红,粉红,深粉红,绿,深绿,蓝,深蓝"
proc lst1.click
     messageb(" 刚才是: click~  ","")
proc lst1.rightclick
     messageb(" 刚才是: rightclick~  ","")
proc lst1.middleclick
     messageb(" 刚才是: middleclick~  ","")
enddefine

2011-09-08 20:34
曾震
Rank: 1
等 级:新手上路
帖 子:57
专家分:0
注 册:2011-9-8
收藏
得分:0 
你这个我运行了一下,都完全可以,我用的是可视化编程,直接在事件里输入的内容,不知道为什么,毫无反应!
2011-09-08 20:48
曾震
Rank: 1
等 级:新手上路
帖 子:57
专家分:0
注 册:2011-9-8
收藏
得分:0 
但是你这个和我的不同之处是你这个事先在列表框里加入了内容,我的那个列表框里是空的,需要操作这些事件之后才有内容!是不是这个方面的原因呢?
2011-09-08 20:50
scilent
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
帖 子:285
专家分:1399
注 册:2011-8-9
收藏
得分:10 
你的代码贴出来看看,估计是你里面的代码有问题了

在没有路的地方走一条路,让别人有路可走
2011-09-09 09:50
曾震
Rank: 1
等 级:新手上路
帖 子:57
专家分:0
注 册:2011-9-8
收藏
得分:0 
这个问题解决了,和大家分享一下。是列表框里的click、dblclick、rightclick事件响应都是以item为基础的,它们是针对item才有效的,我的列表框里一开始是空的,是通过这几个事件中的某一个事件来获得item的,这样当然不行。我在列表框里首先加上一个空白的item,然后这几个事件都能响应了。希望谁有这方面的专题就借着这个题目在后面跟一下吧,列表框挺重要的。比如rowsource和item之间的联系和区别?rowsource如何设置为数组等问题大家展开讨论一下吧!全当学习了!
2011-09-09 22:56
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
列表框是一个容器,里面的item是内容物,是两类不同的东西,ListBox中的事件,必须用鼠标点在ListBox的区域中,比如边框和空白处,才能触发,点在item处,被item的事件截获了,到不了ListBox中,当然被绕开了。要解决这个问题,明白上面的原理,就能找办法,就让item截取鼠标事件,但截获后执行的代码,转到ListBox的专用事件代码中。

授人以渔,不授人以鱼。
2011-09-12 11:20
曾震
Rank: 1
等 级:新手上路
帖 子:57
专家分:0
注 册:2011-9-8
收藏
得分:0 
以下是引用TonyDeng在2011-9-12 11:20:57的发言:

列表框是一个容器,里面的item是内容物,是两类不同的东西,ListBox中的事件,必须用鼠标点在ListBox的区域中,比如边框和空白处,才能触发,点在item处,被item的事件截获了,到不了ListBox中,当然被绕开了。要解决这个问题,明白上面的原理,就能找办法,就让item截取鼠标事件,但截获后执行的代码,转到ListBox的专用事件代码中。
能否给个实例参考一下呢?我水平太差,多多指教!
2011-09-12 18:51
快速回复:关于列表框的click、dblclick和rightclick方法问题
数据加载中...
 
   



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

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