MFC遍历文档模板的问题,求解答
intn=0;POSITIONpos1=GetFirstDocTemplatePosition();while(pos!=NULL)//pos什么时候为空?解析一下循环{...
int n = 0;
POSITION pos1 = GetFirstDocTemplatePosition();
while(pos!=NULL) //pos什么时候为空?解析一下循环
{
n++;
CDocTemplate*pDocTemplate = GetNextDocTemplate(pos1);
if(pDocTemplate == NULL)
{
continue;
}
POSITION pos2 = pDocTemplate->GetFirstDocPosition();
while(pos2!=NULL)
{
CDocument *pDoc = pDocTemplate->GetNextDoc(pos2);
pDoc->UpdateAllViews(NULL,n);
}
}
另外文档和文档模板有什么区别呢? 展开
POSITION pos1 = GetFirstDocTemplatePosition();
while(pos!=NULL) //pos什么时候为空?解析一下循环
{
n++;
CDocTemplate*pDocTemplate = GetNextDocTemplate(pos1);
if(pDocTemplate == NULL)
{
continue;
}
POSITION pos2 = pDocTemplate->GetFirstDocPosition();
while(pos2!=NULL)
{
CDocument *pDoc = pDocTemplate->GetNextDoc(pos2);
pDoc->UpdateAllViews(NULL,n);
}
}
另外文档和文档模板有什么区别呢? 展开
展开全部
1、外循环应该是 while(pos1)而不是while(pos)
2、历遍所有文档模板后pos1=NULL,
3、文档模板是框架子窗口类、视图类、文档类的集合
4、文档仅仅是指文档类的对象。
2、历遍所有文档模板后pos1=NULL,
3、文档模板是框架子窗口类、视图类、文档类的集合
4、文档仅仅是指文档类的对象。
追问
如果历遍所有文档模板后pos1==NULL,那什么时候pDocTemplate == NULL;?
追答
pDocTemplate == NULL;应该是该文档模板没有被用于创建文档。我认为如果添加了文档模板,而且pos1!=NULL的话,GetNextDocTemplate(pos1)应该不会等于NULL,所以我认为循环里面的
if(pDocTemplate == NULL)
{
continue;
}
是没有必要的。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询