vc的edit控件为什么鼠标一移过去就变白?
答案:2 悬赏:0 手机版
解决时间 2021-02-20 21:10
- 提问者网友:人傍凄凉立暮秋
- 2021-02-20 03:32
用ontimer做了一个双缓冲画图的函数,在edit控件上显示,问题是为什么程序运行时,只要鼠标一移动到控件附近,控件就变白了,要是不动鼠标,过一会才又回到我绘制的图形上。不动鼠标就没事。是不是应该重载个鼠标移动的函数呢?应该怎么做呢?
最佳答案
- 五星知识达人网友:長槍戰八方
- 2021-02-20 03:37
对话框控件,有自己的刷新机制。你在控件所在区域的绘图,实际是是使用的对话框的dc吧,这样的绘制机制和控件的刷新机制是冲突的,因此当控件要刷新的时候,就会覆盖你的绘图。
要解决这个问题,要么在绘图的时候,将控件隐藏,要么使用静态框等弱刷新控件。
如果一定要即显示编辑框又要在上面绘图,那么只能是重载编辑框,使用控件的dc去绘图,并且需要重载控件的刷新机制,而这对于CEdit编辑框来说,是比较困难的,因为这个整合了文本控制。
要解决这个问题,要么在绘图的时候,将控件隐藏,要么使用静态框等弱刷新控件。
如果一定要即显示编辑框又要在上面绘图,那么只能是重载编辑框,使用控件的dc去绘图,并且需要重载控件的刷新机制,而这对于CEdit编辑框来说,是比较困难的,因为这个整合了文本控制。
全部回答
- 1楼网友:渊鱼
- 2021-02-20 04:58
虽然我很聪明,但这么说真的难到我了
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯