我用Image和label组合成了个自定义控件,为什么窗体运行后,控件会闪烁? 利用SetCapture和ReleaseCapture为控件添加了鼠标移出和移入判断,为什么当鼠标移入时,会出现闪烁现象?我修改了控件的autoRedraw属性,但仍不行,请教如何避免它 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 两种方式来解决.一是可能你的代码不够优化,导致鼠标移入时运算量过大,而VB是单线程,当界面更新时由于频繁运算导致更新延迟,从而出现闪烁现象(即时使AutoRedraw=True),因此可优化代码,减少更新延迟时间。二是自己编程处理控件刷新问题,首先生成一个内存位图设备CreateCompatibleBitmap,然后用SetWindowLong截获控件的消息处理函数,最后自己处理WM_PAINT消息,当需要更新时一次性复制位图BitBlt,这样就不会出现闪烁了。不过在VB的IDE中,SetWindowLong处理得慎重,否则会崩溃。 "发电厂通用设备管理系统"(实用软件),欢迎下载! 我用VB连SQL,调用存储过程时为什么返回值为-1 关于调用.DLL问题 高分求解答 可能是个比较难的问题(随即的问题) 请问SHFileOperation函数在API中找不到啊 如何用API函数实现在VB中全屏播放媒体文件? datagrid的一个小问题~~ 如何保存表格中的数据? 菜鸟又来了。activeX dll能有窗体吗? 有谁做过大屏幕显示!像公共汽车上滚动提示的字幕! VB连接SQLSERVER
一是可能你的代码不够优化,导致鼠标移入时运算量过大,而VB是单线程,当界面更新时由于频繁运算导致更新延迟,从而出现闪烁现象(即时使AutoRedraw=True),因此可优化代码,减少更新延迟时间。
二是自己编程处理控件刷新问题,首先生成一个内存位图设备CreateCompatibleBitmap,然后用SetWindowLong截获控件的消息处理函数,最后自己处理WM_PAINT消息,当需要更新时一次性复制位图BitBlt,这样就不会出现闪烁了。不过在VB的IDE中,SetWindowLong处理得慎重,否则会崩溃。