比如ListBox的滚动条。
我要实现重绘。
我处理的消息有WM_PAINT,WM_HSCROLL,WM_VSCROLL,WM_MOUSEWHEEL我在钩子里先返还消息,然后再开始绘制,结果发现很闪,吃掉消息的话有些地方会不正常。
我用LockWindowUpDate屏幕闪得更厉害了。
请教高手能不能设置窗口内的滚动条为OWNERDRAW风格,或者说说你的经验。谢谢。小弟不才,第一次做这样的东西。
你们如果懂的话,说说要处理哪些消息,如何处理。高分相送。
我要实现重绘。
我处理的消息有WM_PAINT,WM_HSCROLL,WM_VSCROLL,WM_MOUSEWHEEL我在钩子里先返还消息,然后再开始绘制,结果发现很闪,吃掉消息的话有些地方会不正常。
我用LockWindowUpDate屏幕闪得更厉害了。
请教高手能不能设置窗口内的滚动条为OWNERDRAW风格,或者说说你的经验。谢谢。小弟不才,第一次做这样的东西。
你们如果懂的话,说说要处理哪些消息,如何处理。高分相送。
你说的是LockWindowUpDate吗?这样屏幕会很闪。闪烁的原因是,返还消息的时候,Windows会绘制滚动条,然后我开始绘制我的滚动条,这样先看到系统的滚动条一闪而过,然后我的滚动条才出现。有没方法不让系统绘制滚动条。
此外,还需要注意某些事件触发后,不要再调用callwindowproc或defwindowproc,而是直接赋值返回或修改区域有效性后再返回。
By: Carles P.V.
at:
http://www.Planet-Source-Code.com/vb/scripts/ShowCode.asp?txtCodeId=63527&lngWId=1