我现在在主框架的菜单栏中设置了一个响应菜单,单击响应函数OnSet(),想在此函数中调用另一个函数把视图区域重绘。但不知调用什么函数,怎么调用。
菜单响应函数为:
void CMainFrame::OnSet() {
((CView *)GetActiveView())->UpdateWindow();
}
但这样调用,视图并不重绘。我测试的函数是:
void CWjhlumeiView::OnPaint() {
static int aa=0;
if(aa==0){
aa++;
}
else
MessageBox("lumei11","wjhlumei",MB_OK);}
一打开时没有输出任何信息,当点击OnSet()对应的菜单时并没有把MessageBox("lumei11","wjhlumei",MB_OK);这消息显示出来。但当把视图区域随便改变一下消息就显示出来了。
我不知道OnSet()函数中应该怎么写,调用什么函数来。若改用发送消息的形式,我测试了还是没用,不知是为啥,也许是我写错了代码。
请各位高手指教。不胜感激!
菜单响应函数为:
void CMainFrame::OnSet() {
((CView *)GetActiveView())->UpdateWindow();
}
但这样调用,视图并不重绘。我测试的函数是:
void CWjhlumeiView::OnPaint() {
static int aa=0;
if(aa==0){
aa++;
}
else
MessageBox("lumei11","wjhlumei",MB_OK);}
一打开时没有输出任何信息,当点击OnSet()对应的菜单时并没有把MessageBox("lumei11","wjhlumei",MB_OK);这消息显示出来。但当把视图区域随便改变一下消息就显示出来了。
我不知道OnSet()函数中应该怎么写,调用什么函数来。若改用发送消息的形式,我测试了还是没用,不知是为啥,也许是我写错了代码。
请各位高手指教。不胜感激!
解决方案 »
- condition_variable 为什么必须配合mutex使用?
- 初学者关于Invalidate的问题
- VC++ 如何连接数据库
- 请教COM高手!!!
- 为什么打印不了!
- 请问如何实现SysListView32,就象AcdSee那样。哪能找到这个类?
- 请问~那里有VC的WINDOWS编程的教材下载?
- int i = 4520 应该是: 00 00 11 a8 我用fwrite(&i,sizeof(int),1,file)将它写入到一个文件里,可是文件打开后却是:a8 11 00 00 为
- mfc中如何设置图像的保存路径?
- 怎么判断一个二维数组是否为空?
- google浏览器和CSDN
- 帮我解决一个sql语法错误
((CView *)GetActiveView())->InvalidateRect(NULL); //加一句立即刷新窗口
((CView *)GetActiveView())->UpdateWindow();
}
void CMainFrame::OnSet() {
CDocument* pDoc =((CView*)GetActiveView())->GetDocument();
ASSERT_VALID(pDoc);
pDoc->UpdateAllViews(NULL);
}
((CMyView *)GetActiveView())->Invalidate();
}