首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

关于静态文本框刷新有关问题

2012-02-17 
关于静态文本框刷新问题?我用一个静态文本框显示时间,由于时间值是每秒变化一次的.下一次的时间会覆盖上一

关于静态文本框刷新问题?
我用一个静态文本框显示时间,由于时间值是每秒变化一次的.下一次的时间会覆盖上一次的时间,但上一次的时间又不消失,两次的数字会重叠在一起,造成一个黑团.请问怎样在显示下一次的时间的时候,让上一次的时间消失.

[解决办法]
设置完以后
RECT rc;
m_sta.GetWindowRect(&rc);
ScreenToClient(&rc);
InvalidateRect(&rc,TRUE);
[解决办法]
ScreenToClient(&rc)
将屏幕坐标转换成客户区坐标
没使用的话rc即表示控件相对于屏幕的坐标 刷新的地方不是真正相对窗体的坐标 所以InvalidateRect(&rc,TRUE)也就无效.
[解决办法]
你这个静态文本框有没有背景色的?如果你用了透明背景并且用空刷子刷过背景的话就是这样子的

怀疑你用看空刷子刷了这个控件的背景,因为你的主对话框用了贴图

不要将控件背景透明,用和你底色相同的刷子刷一下背景试试看

[解决办法]
你是在控件里画的吗? 要是那样的话就没有你这样的问题. 如果是在View里绘制,InvalidateRect就可以了,注意提高绘制的效率哦!

热点排行