| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1669 人关注过本帖
标题:容器控件拦截容器内控件的方法
只看楼主 加入收藏
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:451
帖 子:10608
专家分:43186
注 册:2014-5-20
收藏
得分:0 
最好能有同步或异步调动,能用异步时尽量用异步,这样效率高些,还能避免出现假死(无响应)
2022-11-17 13:13
sam_jiang
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:14
帖 子:790
专家分:1170
注 册:2021-10-13
收藏
得分:0 
回复 21楼 吹水佬
这个mousemove事件返回的nbutton值不对,能帮忙看看哪里出问题了吗?
2022-11-17 14:53
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:451
帖 子:10608
专家分:43186
注 册:2014-5-20
收藏
得分:0 
以下是引用sam_jiang在2022-11-17 14:53:26的发言:

这个mousemove事件返回的nbutton值不对,能帮忙看看哪里出问题了吗?

还没看明白,如在textbox.mousemove当成form.mousemove来执行,是什么机制,会不会有冲突。
textbox.mousemove 与 form.mousemove 各有其独立消息机制(事件),触发时机是各自的。
2022-11-17 16:06
sam_jiang
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:14
帖 子:790
专家分:1170
注 册:2021-10-13
收藏
得分:0 
回复 23楼 吹水佬
这个事件冒泡的本质,其实是将控件的mousemove里的几个参数,传递给form的mousemove,由于nxcoord,和nycoord2个参数是以form为参照系的,所以当控件把几个参数传递给form时,form的mousemove就当其他控件是透明,从而实现模拟操作。

现在的问题是,子控件传递的nbutton参数出现了问题,当我们松开鼠标时,按理应该传递nbutton=0给form,不知道为什么,这个nbutton居然依然是1。。。

2022-11-17 20:11
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:451
帖 子:10608
专家分:43186
注 册:2014-5-20
收藏
得分:0 
回复 24楼 sam_jiang
直接用事件当方法调用有风险,尤其是有参数,接收到的入口参数有时未必如你所愿。
windows用的是消息机制,消息有优先级、同步、异步。至于form的事件是系统触发的还是程序主动调动的就好难说谁先谁后。
2022-11-17 20:22
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:451
帖 子:10608
专家分:43186
注 册:2014-5-20
收藏
得分:0 
最好自定义一个form方法来处理,就可以想点就点。
2022-11-17 20:26
快速回复:容器控件拦截容器内控件的方法
数据加载中...
 
   



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

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