问个关于OLE控件鼠标事件的问题...

mdejtod 2009-01-08 08:32:35
RT,ole控件(TBar..条形码控件是微软自带的一个active控件)没有处理鼠标事件,down,up,move,enter ,leave等,我在重写该控件时,在里面处理了消息事件(TWMMouse),发布了这些事件,但是当我在运行期移动该控件时,如果鼠标移动过快,就很容易丢失焦点,而被其它控件获取焦点,导致触发其它控件的mousemove事件,请问有什么办法可以解决?

另请上一贴子 关于运行期控件拖拉 的几位朋友来接分...
...全文
89 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
lanbiner 2009-01-18
  • 打赏
  • 举报
回复
具体我也不大清楚,我只知道用上它以后,可以让执行应用程序时在界面的反应上效果会很好,例如在执行很多任务时界面定住不用了,如果用上它就会让界面继续能操作,该程序的其它动作在后台继续运行.
mdejtod 2009-01-11
  • 打赏
  • 举报
回复
其实还是那回事,快速移动时,该控件焦点丢失,跑到其它控件上,触发了别的控件的mousemove事件,只不过我把其它控件的mousemove事件屏蔽了,所以就停住不动,另,IdAntiFreeze 这个控件是啥?
lanbiner 2009-01-11
  • 打赏
  • 举报
回复
其实你的情况按说不应该出现的,出现这样的情应该是在处理反应不过来的时候出现的间断,在处理器反应过来时已经断定你的鼠标在控件上了,我想加入一个IdAntiFreeze控件你试试.
mdejtod 2009-01-10
  • 打赏
  • 举报
回复
试了一下禁用其它控件的mousemove事件,效果不怎么好,就是快速拖动时,会停在那里...
ljluck7687 2009-01-10
  • 打赏
  • 举报
回复
friendly up
mdejtod 2009-01-10
  • 打赏
  • 举报
回复
qiume 2009-01-09
  • 打赏
  • 举报
回复
在移动的时候,把其他控件禁用(Enable := False)
mdejtod 2009-01-09
  • 打赏
  • 举报
回复
让自己获取焦点?那不会要在移动时一直给自己发消息吧???
jjwang2004 2009-01-09
  • 打赏
  • 举报
回复
与其在down,move让其他控件失去焦点,不如让自己获取焦点。
你可以试试~~
mdejtod 2009-01-09
  • 打赏
  • 举报
回复
可以试一下,不过通用性不好,要对其它控件作操作的话
zhao_yong 2009-01-09
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 lanbiner 的回复:]
在你写的这个增加的鼠标事件down,move里面添加命令,使其它控件失去禁止焦点功能,再在up里面写上开启其它控件的焦点功能.
[/Quote]
我覺得這種方法還是較好的,可以再增加一個變量去判斷是否TBar獲得焦點。
mdejtod 2009-01-09
  • 打赏
  • 举报
回复
有没有更好的方案?
lanbiner 2009-01-09
  • 打赏
  • 举报
回复
在你写的这个增加的鼠标事件down,move里面添加命令,使其它控件失去禁止焦点功能,再在up里面写上开启其它控件的焦点功能.
1,abkemail.ZIP
简单的email控件(18KB )
2,abkpop.ZIP
一个简单的POP3控件(5KB)
3,winpopup.ZIP
允许您的 VB 程序通过网络发送和接收 Winpopup 信息(20KB)
4,autodial.ZIP
自动拨号的控件(30KB)
5,ddialw.EXE
DameWare公司出品的电话拨号控件(170KB)
6,dipw.EXE
DameWare 公司出品 IP 地址控件(169KB)
7,dm10e.ZIP
发送 E.Mail 的控件(117KB)
8,dsdns_eval.EXE
IP地址控件(703KB)
9,easyftp.ZIP
FTP 登录控件,就象 Cute FTP(195KB)
10,firewall.EXE
防火墙控件(534KB)
11,ftpx.EXE
FTP客户端控件和 COM 对象(629KB)
12,ftpserv.EXE
FTP服务器端控件和COM对象(523KB)
13,httpx.EXE
HTTP客户端控件和COM对象(644KB)
14,mail.EXE
邮件控件(797KB)
15,news.EXE
新闻组控件(664KB)
16,ntuserx.EXE
NT用户管理对象(426KB)
17,pingx.EXE
PIN 控件和COM对象(423KB)
18,rasx.EXE
RAS拨号控件(466KB)
19,socketx.EXE
WinSock 控件(589KB)
20,whoisx.EXE
Internet WhoIs(域名查找)控件和 COM 对象(436KB)
21,rasdialw.EXE
rasdialw(162KB)
22,i006_dlweb.zip
利用Winsock控件下载网页(2KB)
23,i005_hlink.zip
将这个控件加到你的窗体上,并设置好URL,当点击该控件时,你就可以打开一个网站或启动默认的电子邮件程序或是其它指定的程序。此外,你还可以改变颜色、字体、边框以及鼠标悬停状态等。
24,i004_ftp.zip
如果你想DIY一个CUTEFTP之类的程序,用这个控件可大大简化你的工作量。(46KB)
25,kchatocx.zip
chat控件(16KB)
26,kpopocx.zip
一个简单的pop控件(14KB)
27,krnicnntpocx.zip
一个在新闻组读取和发送消息的控件(23KB)
28,ocsetup10.exe
检测用户是否在线的控件(266KB)
29,dnslookup.zip
查找网络计算机的主机名或ip地址(17KB)
30,gotoweb.zip
使用默认的浏览器浏览指定web页面(12KB)
31,mailnotification.zip
在pop3邮件服务器检测邮件的控件(17KB)
32,easyras.zip
一个拨号上网的ras控件(155KB)
33,onoffline.zip
在线检测和断开internet(14KB)
34,ping.zip
ping一个主机(24KB)
35,popmail.zip
从pop邮件服务器上获得邮件的控件(20KB)
36,smtp.zip
通过smtp服务器发送邮件的控件(19KB)
37,trace.zip
跟踪主机的route(23)
38,dynamichtml.zip
在visual basic中使用动态超文本(dhtml)(12KB)
39,rasdialx.zip
网络拨号控制,还能得到许多相关信息(93KB)
40,abkemail.zip
一个简单的email控件(18KB)
41,internet.zip
对http,ftp,email,mime,news等进行编程的一套internet控件(413KB)
42,ipocxes.zip
两个OLE控件(Client和Server),可以用来在Internet上进行TCP/IP通讯(23KB)
43,dlinkacx.zip
在这个程序中进行数据的通信,轻松帮助你完成“客户/服务器”设计(227KB)
44,htmlpopu.zip
在你的程序中弹出一个超文本窗口(343KB)
45,bpmail.zip
邮件发送控件,完全免费的 OCX (14KB)
46,dns.zip
转换IP地址为主机名的控件(12KB)
47,hlink.zip
将这个控件加到你的窗体上,并设置好URL,当点击该控件时,你就可以打开一个网站或启动默认的电子邮件程序或是其它指定的程序。(有例程) (19KB)
48,mobilefbus.zip
MobileFBUS 1.5控件(112KB)
49,tapidial.zip
TAPI(电话应用程序接口)控件(41KB)
50,ccrpipa.zip
CCRP IP Address Control控件(77KB)
相关网站 7 设置窗口最大最小 7 设置窗口标题 7 去掉主菜单 7 修改应用程序图标 7 系统只能允许一个程序运行 7 在状态栏中添加时间 8 研究调用存储过程 8 得到本机的IP地址 9 vc调用chm文件 10 最高窗口的实现 10 防止Edit框中的Password不保密 11 在同一系统中显示GB字符和BIG5字符 12 改变颜色(整个窗体的控件) 13 改变工程表头栏 13 ◆如何找开一个DiaLog的窗口◆ 13 ◆得到系统中设置的窗口颜色◆ 14 ◆如何让点下去的菜单成为V状态◆ 14 ◆如何调用WINDOWS的颜色板◆ 14 ◆如何产生一个MDI的主窗口◆ 15 ◆如何让一个文本控件显示出值◆ 15 ◆如何让一个控件显示出相应的值◆ 16 ◆在调试中怎么样MESSAGEBOX一个数字◆ 16 ◆如何控制控件的焦点◆ 16 ◆如何对析构函数中对象进行释放◆ 16 ◆如何关闭一个模态窗口◆ 17 ◆如何将一个提示的声音发到声卡上◆ 17 ◆如何得到打开exe的带的参数◆ 17 ◆如何在框架上建立一个工具条◆ 17 ◆如何生成一个主窗口下方的状态条◆ 18 ◆如何让Cscrollview类中控制其可以流动区域大小◆ 19 ◆MFC中控件的一些基本控制方法◆ 19 ◆如何让一个数字型变量化为字符型变量◆ 19 ◆如何使用“拉动条”,“上下选择”◆ 19 ◆如何使用postmessage来异步触发某事件◆ 21 ◆如何使用Sendmessage来异步触发某事件◆ 22 ◆如何修改父类的相关控件属性◆ 22 ◆如何在程序中得到控件的名◆ 22 ◆如何控制菜单的事件程序◆ 22 ◆如何使用控件中的数据录入的控制属性◆ 23 ◆哪些函数是文档、视图相互处理用的◆ 23 ◆如何建立一个基于对话框一程序◆ 23 ◆如何建立一个线程◆ 24 ◆如何让窗口产生一个图标(从应用程序资源中取出)◆ 24 ◆如何得到一个edit的录入的值◆ 24 ◆如何启动TIMER事件◆ 25 ◆如何使用ctrllist控件实现表格◆ 25 ◆如何从INI文件中得到值◆ 25 ◆如何将图标文件写到窗口中◆ 26 ◆如何得到本机的IP地址◆ 26 ◆如何使用全局变量◆ 26 ◆如何让一个字符加上回车、换行◆ 26 ◆如何定义、使用结构◆ 26 ◆如何在任意程序中显示MessageBox◆ 27 ◆如何在程序判断出debug状态◆ 27 ◆当对话框中有一个滚动条是,当滚动滚动条时的消息控制函数◆ 27 ◆将一个CWnd指针转换成一个控件ID(整数)注意用GetDlgItem()函数是从一个控件ID转换成一个CWnd的指针◆ 28 ◆如果在对话框中自定义一个消息的方法,假设对话框名为CXX◆ 28 ◆消息传递◆ 29 ◆在一个函数引用另外的一个对话框◆ 29 ◆全局函数的申明问题◆ 29 ◆在应用程序中*APP.CPP中的InitInstance()的事件◆ 29 ◆给执行文件加一个图标◆ 30 ◆如何在全局函数中通过传入的窗口句柄操作窗口◆ 30 ◆如何使桌面文字背景透明?◆ 30 ◆怎样才能在VC里产生一个唯一的字符串◆ 31 ◆如何隐藏进程(在系统状态栏和进程列表里不可见)◆ 31 ◆如何得到一个确定大小的视?◆ 31 ◆如何实现点击窗口任意地方拖动窗口?◆ 32 ◆如何在启动时阻止MDI应用程序创建一个新文档?◆ 33 ◆如何在多文档MFC程序中制作独立的File|New菜单?◆ 33 ◆如何检测视是否处于分割状态?◆ 34 ◆如何使程序保持极小状态?◆ 34 ◆如何确定当前进程实例是否为唯一实例?◆ 35 ◆如何向一个文档附加多个视?◆ 35 ◆如何获得文件的图标、属性、大小、类型等参数?◆ 36 ◆如何得到鼠标下面的窗口?◆ 37 ◆设置鼠标的形状◆ 38 ◆在对话框中设置编辑EDIT的值◆ 38 1. 如何获取应用程序的实例句柄? 38 2. 如何通过代码获得应用程序主窗口的指针? 38 3. 如何在程序中获得其他程序的图标? 38 4. 如何编程结束应用程序?如何编程控制windows的重新引导? 39 5.怎样加载其他的应用程序? 39 6. 确定应用程序的路径 39 7. 获得各种目录信息 40 8. 如何自定义消息 40 9. 如何改变窗口的图标? 40 10. 如何改变窗口的 缺省风格? 40 11. 如何将窗口居中显示? 41 12. 如何让窗口和 MDI窗口一启动就最大化和最小化? 41 13. 如何使程序保持极小状态? 41 14. 如何限制窗口的 大小? 41 15. 如何使窗口不可见? 41 16. 如何使窗口始终在最前方? 41 17、如何创建一个字回绕的CEditView 42 18、通用控件的显示窗口 42 19、移动

5,388

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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