ActiveX
Vanship
这个作者很懒,什么都没留下…
展开
-
控件改变大小时闪烁问题
利用双缓冲可以避免绘图时图像的闪烁,但是当改变窗体或控件的大小时,依然会有严重的闪烁现象。可以响应窗口消息WM_ERASEBKGND,重载OnEraseBkgnd(CDC* pDC)直接返回TRUE,来有效避免闪烁。 BOOL ClassName::OnEraseBkgnd(CDC* pDC) { // TODO: Add your message handler code原创 2009-04-27 10:55:00 · 1034 阅读 · 0 评论 -
ActiveX控件中使用多线程导致的问题
用VC++6.0写MFC ActiveX控件,就是实现个数据统计功能,调用SqlServer的存储过程,计算量比较大,调用时间比较长,所以要把进度显示出来(方法前文有述),用到多线程。需要在线程函数里把计算的结果通过控件事件传出去。问题很奇怪,本来以为没问题,使用VB调用该控件调试时一切良好,偶有程序无响应情况,还以为是远端数据服务器问题,没有理会,另外使用ActiveX Control Te原创 2009-04-25 00:59:00 · 2086 阅读 · 0 评论 -
使控件子窗口的响应鼠标滚轮消息
鼠标滚轮消息似乎只会发给当前获得焦点的窗口,所以当子窗体没有焦点时是收不到滚轮消息的,收到消息的可能是父窗口。解决:添加鼠标单击相应函数,在响应函数中添加SetFoucs();一句,这样强制设置焦点给子窗口,然后再滚动鼠标滚轮,子窗体就能收到滚轮消息了。 问题继续,当子窗口上有其他可以获得焦点的控件时,比如下拉列表,这时在窗口函数中执行SetFoucs();焦点会自动跑到那个控件上去,原创 2009-04-25 01:29:00 · 4522 阅读 · 0 评论