我做了个界面类CMyFrame, 从CWnd继承。
在CMyFrame上我画了几张小图片,在Vista系统下显示时,界面会有闪烁。 但在XP系统下就不闪烁。
我采用了双缓冲绘画界面, 即先在内存中把界面画好, 然后再显示都界面上。请赐教, 谢谢。
在CMyFrame上我画了几张小图片,在Vista系统下显示时,界面会有闪烁。 但在XP系统下就不闪烁。
我采用了双缓冲绘画界面, 即先在内存中把界面画好, 然后再显示都界面上。请赐教, 谢谢。
解决方案 »
- 读出现有的XML文件,向根节点添加节点出错
- 设计方案
- 我的问题是这样的,我是用的单文档的框架,然后使用对话框添加数据,完成添加后在单文档的LISTVIEW中显示,当关闭文档的时候想把我存入数据库的数据保存到其他文件夹用以备份,打开程序时可以选择把备份好的数据拿过来直接打开,或者重新添加数据,这个怎么实现呢,我
- Xtreme ToolKit 问题
- 关于游戏编程,请传授传授经验
- 您要访问的网页有问题,无法显示。
- LISTCTRL中已经有了几个ITEM,现在我InsertItem一个Item放在第一行,可焦点并不是在新增加的这行上,而在原来的地方。如何增加一个ITEM就
- 如何把对话框中的东西格式化后打印出来?在对话框中直接调用打印
- 如何将CString型数据转为unsign short * 型数据??
- 用vc存取access数据库,*.DBF文件越来越大,既使删除了所有记录,也不变小。
- 如何把位图信息放入内存,以及根据该内存生成位图?
- 与程序关联的文件插入到EXCEL后,双击打不开
如果在擦除背景时不直接返回,则窗口在重绘之前先前客户区擦除,然后再将最新的重绘图绘制上去,这样中间会的一个显示白色区域的过程,所以会看到闪一下。
for (CWnd *pChild = GetWindow(GW_CHILD) ;pChild != NULL; pChild = pChild->GetWindow(GW_HWNDNEXT)) {
if (pChild->IsWindowVisible()) {
CRect rect;
pChild->GetWindowRect(&rect);
ScreenToClient(&rect);
if(rect.Width() > 20 || rect.Height() > 20)
pDC->ExcludeClipRect(&rect);
}
}
用以控制自己绘制,不需要系统擦除