MFC TabControl 切换界面闪烁

hnu_0720 2014-12-21 01:55:12
[size=13px]各位好,小弟我最近做一个简单的界面,遇到个问题,无法解决,求助一下大家.希望大家能给个思路,本人才开始接触MFC.
界面如下
底层是一个对话框,对话框中放的是TabControl组件,TabControl的每一页是一个子对话框,这个对话框中放的是一个ListControl控件.
第一层:对话框
第二层:TabControl
第三层:子对话框
第四层:ListControl
在界面大小变化的时候,用的时候MoveWindow函数来移动界面上控件的大小.
如果我不设置ListControl的背景颜色,当我切换TabControl的时候,界面不会出现闪烁.但是当我设置ListControl的背景颜色,切换TabControl界面闪烁比较厉害.由于本人刚刚接触MFC.考虑不是很周全查了一些资料,还是没有解决..希望大家帮个忙看看有什么好的办法.
[/size]
...全文
660 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
Capricorn_L 2016-04-20
  • 打赏
  • 举报
回复
Onpaint()函数中添加CDialogEx::OnPaint();就不会出现刷新时,子控件闪烁的问题了。因为重载Onpaint()函数会导致对话框原来的Onpaint()函数异常
schlafenhamster 2014-12-22
  • 打赏
  • 举报
回复
"切换的时候会闪烁一下白色(对话框的背景颜色)" 就是说 ListControl是 在 对话框 里, 那么 对话框 OnCtrlColor 中 处理 ListControl 的 背景色
hnu_0720 2014-12-22
  • 打赏
  • 举报
回复
引用 1 楼 worldy 的回复:
哪个地方闪烁,ListControl?还是别的也闪?
我的ListControl是铺满界面的,如果我把列表框的背景颜色设置为黑色,每次TabControl切换界面的时候,就会感觉到闪烁。其他控件的颜色都是默认的颜色,我只设置了列表框的背景颜色。切换的时候会闪烁一下白色(对话框的背景颜色)
schlafenhamster 2014-12-21
  • 打赏
  • 举报
回复
"Tab内是Dlg.rar" http://download.csdn.net/detail/schlafenhamster/4478966 "本程序是一个对话框内一个Tab,而这个Tab含5个对话框的例子。 5个对话框有相同的背景。 本程序显示如何使用运行时类型识别。 DECLARE_DYNAMIC(CDlg1); 还显示如何调整对话框中控件位置 DeferWindowPos"
worldy 2014-12-21
  • 打赏
  • 举报
回复
哪个地方闪烁,ListControl?还是别的也闪?

3,245

社区成员

发帖
与我相关
我的任务
社区描述
ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
社区管理员
  • ATL/ActiveX/COM社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧