我是在单文档客户区内实现绘图功能,实现方法:点击菜单栏上的功能选项后,给一个全局变量一个值,然后在view类的ondraw函数里进行判断后执行相应的程序段,我想实现屏幕清空,我的方法为:也是点击菜单上的“清屏”给变量 m_clean一个值,然后在ondraw里判断执行Invailidate();(m_mode为绘图判断变量),可是运行一次清屏后,整个程序变得有延迟,我请教一下原因,还有如果用句柄,另设一个函数:用pWnd->Invalidate();怎么写啊?
我的程序如下:
void CTestDialogView::OnScreenClean()
{
m_mode=0;
m_clean=1;
Invalidate();
}else if(m_clean==1&&m_mode==0)
{
Invalidate();
}
我的程序如下:
void CTestDialogView::OnScreenClean()
{
m_mode=0;
m_clean=1;
Invalidate();
}else if(m_clean==1&&m_mode==0)
{
Invalidate();
}
解决方案 »
- CFormView随着窗口的变化,Control及OLE控件自动调整位置的问题?
- 请问下EXCEL导入SQL2000时,SQL语句中工作表标签名(sheet)的名称问题
- 自己写的windows服务在某些机器上不能开机自启动
- 有没有人遇到过在线程中向主窗口发送消息,SendMessage成功,而PostMessage失败的?
- CListCtrl重载后的用法(急)
- http代理的问题
- 类向导生成类时有问题,系统问题?编译器问题?操作问题?病毒?
- 如何在桌面的右下角显示指定大小一个对话框
- 紧急求助!!!会的人10秒钟解决问题,简单得分,快!快!快!
- 急,急,急,怎么使用NetShareAdd函数在Windows98下共享一个目录
- 急急急!!!在线等待,如何让这段程序运行更快?
- 出售VC应用系统全套源码?吐血价
会产生 WM_PAINT 再次调用ondraw
从而进入一个死循环 用FillRect吧
所以,你在OnDraw()中调用,会等到有下一个OnDraw()时才更新,所以看起来会有点延迟.
我的msdn出了问题,麻烦那位可以写一下实现代码嘛?
或者用刷子重新刷一次你的客户区