一个很难的问题,让MSFlexGrid支持鼠标滚轮,请高手看看。

weishaolin131083 2010-09-28 09:42:43
让MSFlexGrid支持鼠标滚轮,网上找到的解决方法是通过子类化来实现,
但子类化无法调试,以及子类化不稳定,我做的是商业化程序,对稳定性要求非常高,
所以不能使用子类化。

我想到另外一种思路,因为VB6的Combobox是支持鼠标滚轮的,
那我可不可以做一个OCX(可以用VB\VC或delphi做ocx,最好用VC),
这个OCX能检索出应用程序接收的所有事件,然后判断如果是滚轮事件,
将滚轮事件转化为滚动条事件,再发给应用程序。

有没有高手能实现这个OCX?
...全文
584 67 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
67 条回复
切换为时间正序
请发表友善的回复…
发表回复
嗷嗷叫的老马 2010-09-30
  • 打赏
  • 举报
回复
控件里也是子类化啊......
咸清 2010-09-29
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 weishaolin131083 的回复:]
2楼大哥,我的程序用了很多第三方控件,事件处理很多,
特别是象表格编辑之类的,我实际用的是 VSFlexGrid 表格,
钩子不稳定是很多人都这么说的,不仅仅是我,他们这么说肯定是有道理的,
很多人一般只是用钩子做一些个人爱好的程序,比如做外挂,出点错也无所谓,
可我做的是商业化程序,一点错都不能出的。

至于调试,用 Debug.print ,我的程序光是窗口就是几百个,
不可能用……
[/Quote]
我想说,不稳定是因为不会用。
舉杯邀明月 2010-09-29
  • 打赏
  • 举报
回复
来围观大虾们的,冒个泡…………
lxq19851204 2010-09-29
  • 打赏
  • 举报
回复
LZ无敌了.........
苍狼传说 2010-09-29
  • 打赏
  • 举报
回复
我是路过的,不要骂
苍狼传说 2010-09-29
  • 打赏
  • 举报
回复
不过说实在的,这个OCX关键代码一共只有几句话,要我做也不会超过一小时,真的不会讲有什么不稳定什么的,不过也是用勾子处理鼠标消息……
weishaolin131083 2010-09-29
  • 打赏
  • 举报
回复
懒得回你。
yachong 2010-09-29
  • 打赏
  • 举报
回复
[Quote=引用 66 楼 weishaolin131083 的回复:]
这个是用 用户控件,
还是崇拜 那个 写ocx的,
但这个用户控件也还可以,将就。

本来100分应该给 吕金杰 的
[/Quote]
你确定你明白怎么做一个OCX出来?
嗷嗷叫的老马 2010-09-29
  • 打赏
  • 举报
回复
[Quote=引用 27 楼 yachong 的回复:]
今天真冷!老马的衣服看上去真暖和。
[/Quote]
蚜虫兄又很久不见了啊,哈哈.
lingll 2010-09-29
  • 打赏
  • 举报
回复
[Quote=引用 25 楼 myjian 的回复:]
现在问问题的都是爷..........
[/Quote]

哈哈
ttsffgg 2010-09-29
  • 打赏
  • 举报
回复
楼主的水平想必会止步于此吧
controstr 2010-09-29
  • 打赏
  • 举报
回复
[Quote=引用 59 楼 weishaolin131083 的回复:]
好笑吗?
我已经结贴了,让你们没得笑了。

本来想把分留给自己,可自己的回复怎么不能给分,太郁闷了,
所以抓阄,抓住哪楼就给哪楼,

不知哪一楼幸运得分哦。
58楼,小号也在我面前叫嚣,你等级才一个裤衩,一边去,小样。
[/Quote]

我靠,你这态度,估计你技术也到此为止了,
weishaolin131083 2010-09-29
  • 打赏
  • 举报
回复
这个是用 用户控件,
还是崇拜 那个 写ocx的,
但这个用户控件也还可以,将就。

本来100分应该给 吕金杰 的
weishaolin131083 2010-09-29
  • 打赏
  • 举报
回复
之前我已经狂搜了n久,就差把摆渡翻个底朝天了,
google?艘中文还没摆渡强,
艘英文?看不懂
weishaolin131083 2010-09-29
  • 打赏
  • 举报
回复
给个连接吧:
http://www.cnblogs.com/lvjinjie/archive/2010/02/04/1660810.html

我并不反对钩子,

但我是有条件的,
条件一是,不影响调试,能正常调试,
条件二是,哪个控件需要滚轮,就设置哪个控件子类化,而其他控件,窗体,不要子类化。
嗷嗷叫的老马 2010-09-29
  • 打赏
  • 举报
回复
再建议你一下.....编程类的东西优先使用Google.....
weishaolin131083 2010-09-29
  • 打赏
  • 举报
回复
不求你们了,

本来CSDN 有个人写了个OCX,
要实现滚轮,把那个 OCX 拖上去就行了,
但那个人现在是 杳无音信,伤心中,高手总是 来无影,去无踪,只能仰慕,无法亲近。

又一阵阵的摆渡狂搜,真是黄天不负有心人啊,
终于搜出一个东东,
嗷嗷叫的老马 2010-09-29
  • 打赏
  • 举报
回复
我说哥们儿.

你是来求助的,我不明白你为什么会有这种趾高气昂的态度呢?

网络上并没有谁有义务为你解答问题,同时在这帖里,你也没有趾高气昂的理由--------你是来求助的,要记住.

说说你的问题.

针对你这个滚轮获取的方案,即使是ComboBox,内部应该也是使用子类化拦截消息实现的.

消息循环的处理,是WINDOWS自己的机制,你却要求不使用子类化而实现滚轮消息的拦截,这怎么可能有答案呢.

即使你使用MOUSEHOOK来完成,仍然还是对消息进行拦截,并且还没有子类化方便.

稳定性问题,只要你的技术过关,这根本就不是一个问题.

啊,我也打了这么多字,你是不是也要1秒看完气死我呢,嘿嘿.
现在还是人类 2010-09-29
  • 打赏
  • 举报
回复
[Quote=引用 59 楼 weishaolin131083 的回复:]
好笑吗?
我已经结贴了,让你们没得笑了。

本来想把分留给自己,可自己的回复怎么不能给分,太郁闷了,
所以抓阄,抓住哪楼就给哪楼,

不知哪一楼幸运得分哦。
58楼,小号也在我面前叫嚣,你等级才一个裤衩,一边去,小样。
[/Quote]
别人BC、VC都是3个角,和你比不算小了
weishaolin131083 2010-09-29
  • 打赏
  • 举报
回复
好笑吗?
我已经结贴了,让你们没得笑了。

本来想把分留给自己,可自己的回复怎么不能给分,太郁闷了,
所以抓阄,抓住哪楼就给哪楼,

不知哪一楼幸运得分哦。
58楼,小号也在我面前叫嚣,你等级才一个裤衩,一边去,小样。
加载更多回复(47)

7,785

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧