面对现实,超越自己
逆水行舟,不进则退
posts - 269,comments - 32,trackbacks - 0
在用SetWindowText设置控件内容时,有时候会出字体重叠问题,调用次数越多,重叠越严重。以下为解决方法。

方法一:RedrawWindow()
1 GetDlgItem(IDC_STATIC)->SetWindowText("your string");   
2 GetDlgItem(IDC_STATIC)->GetParent()->RedrawWindow(); 

缺点:窗口刷新太频繁,一闪一闪,效果不太好。

方法二:局部刷新
1 void YourDlg::RefreshControl(UINT uCtlID)   
2 {      
3     CRect   rc;      
4     GetDlgItem(uCtlID)->GetWindowRect(&rc);    
5     ScreenToClient(&rc);      
6     InvalidateRect(rc);      
7 }     

方法三:隐藏和显示
1 GetDlgItem(IDC_STATIC)->ShowWindow(SW_HIDE);
2 GetDlgItem(IDC_STATIC)->ShowWindow(SW_SHOW);

posted on 2013-09-24 10:31 王海光 阅读(2732) 评论(0)  编辑 收藏 引用 所属分类: MFC

只有注册用户登录后才能发表评论。
【推荐】超50万行VC++源码: 大型组态工控、电力仿真CAD与GIS源码库
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理