怎么会呢?
POSITION ps;
CString txt;
ps = GetFirstViewPosition();
while (ps)
{
CView *view = GetNextView(ps);
view->UpdateWindow();
}
就可以了
POSITION ps;
CString txt;
ps = GetFirstViewPosition();
while (ps)
{
CView *view = GetNextView(ps);
view->UpdateWindow();
}
就可以了
我也想不通,几个窗口没理由属于同一个‘视’啊。
这段代码是在 CTestDoc::中写的。
关键找多个Document的多个View怎么办。
另外的处理就是在 CChildFrame 中 捕获了当前子窗口的
WM_SIZE 消息,然后发给当前的 View,
,这个应该不影响它吧。
我想是不是我在 CChildFrame 中 捕获并发给 view这个处理有问题。
每个MDIChild都映射到不同的CTestDoc对象!
while(pos)
{
pView =(CTestView *) pDoc->GetNextView( pos );
if(pView->IsKindOf(RUNTIME_CLASS(CTestView))==TRUE) break;
}
以下的OnClose 是个菜单处理函数
void CTestDoc::OnClose()
{
CString txt;
POSITION ps;
ps = GetFirstViewPosition();
while (ps)
{
CView *view =(CTestView*)GetNextView(ps); //这个函数之后 ps 为空了.
view->GetWindowText(txt);
AfxMessageBox(txt);
}
}
这段代码有问题吗?