现在有2个窗体a,b是同一个父窗体的子窗体,他们大小和显示区域一样,所以同一时间只能显示一个.那请问如果当前显示的是a,那我要显示b的话,是先hide a再show b还是先show b再hide a呢?
如果是一般简单的窗体,这2种方式可以随便用,也看不出有什么差异,大家也不会纠结这个顺序,
但是如果2个窗体上有很多自绘的东西,切换会闪烁一下,但是我这2种顺序都试过了,都会闪,所以估计跟这个没什么关系,但是突然就对这个挺感兴趣的,网上根本搜索不到相关资料,所以想在这里跟大家探讨一下.
如果是一般简单的窗体,这2种方式可以随便用,也看不出有什么差异,大家也不会纠结这个顺序,
但是如果2个窗体上有很多自绘的东西,切换会闪烁一下,但是我这2种顺序都试过了,都会闪,所以估计跟这个没什么关系,但是突然就对这个挺感兴趣的,网上根本搜索不到相关资料,所以想在这里跟大家探讨一下.
解决方案 »
- 如何编程控制没有开发包的电视盒
- if 语句的错误 没分了 路过的人给瞅一眼吧
- RECV经常返回10054是什么原因?急!!!
- 各位街坊邻居,大爷大婶们,刚出炉的CDocument和CView问题,不回答也看看哪~~
- 请问大家现在都用什么版本的VC++开发工具啊?
- SetWindowOrgEx(..)到底啥意思?树上有这个说法:
- 为何VC中除了Button之外,其余控件的BN_CLICKED时间都没有响应?
- 我有一段有关CFile类的小程序的问题
- 怎样才能使程序占满整个屏幕,就是遮住任务栏,开始菜单等,谢了
- VS2010 编译环境下,生成的COM库的TLB文件被删除求解
- 给MFC程序添加支持自动化的类,为什么基类要选CCmdTarget?
- 显示缓冲
谢谢,这个办法对闪的问题确实有用,太感谢了,那hide和show的顺序有什么讲究吗,为什么呢?
我感觉先hide一下,父窗体会重绘,然后再show,子窗体又要重绘,如果先show的话就只有子窗体会重绘父窗体不会,但是根据2楼的意见,这个顺序也是会导致父窗体重绘的
我觉得 前面闪烁的原因是 子窗口hide导致了父窗口需要先绘制被hide窗口遮挡部分,然后在绘制上面show状态的窗口,两次绘制引起了视觉上的闪烁
我的那个方法就是的子窗口隐藏了也不需要父窗口绘制被遮挡部分,只要显示的窗口自己绘制一下,这样就不闪烁了