主题:[讨论]如何让OpenDocumentFile只打开一个file?
可能我说的不是很清楚。
我在看MSDN中的一个例子的时候(MDIDOCVW),他在InitInstance中添加了两个DocTemplate,一个用来显示文字,一个用来显示图形。
现在新建的时候,你可以打开任意多个文字视图,也可以打开任意多个图形视图。
我现在的问题是,如何修改OpenDocumentFile,只让程序打开一个窗口?OpenDocumentFile里的第一个参数是个file的path name,这个我不是很理解。
我的做法是建一个变量static CDocument * pOnlyDocument;
if(str == _T("Hello")){
if (!pOnlyDocument)
pOnlyDocument = curTemplate->OpenDocumentFile(NULL);
return;
}
然后打开的时候(OnNewBounce或OnNewHello中),如果pOnlyDocument不为空,就直接返回。这样可以限制打开的数目,但是如何激活,就是把窗口激活。
如果不想上面那样做的话,就是利用OpenDocumentFile的第一个参数的话,提示文件路径问题,意思说要先存储,但如何存储?
OpenDocumentFile(pOnlyDocument->GetPathName())??就是pOnlyDocument如何存储,都已经是static了。
我在看MSDN中的一个例子的时候(MDIDOCVW),他在InitInstance中添加了两个DocTemplate,一个用来显示文字,一个用来显示图形。
现在新建的时候,你可以打开任意多个文字视图,也可以打开任意多个图形视图。
我现在的问题是,如何修改OpenDocumentFile,只让程序打开一个窗口?OpenDocumentFile里的第一个参数是个file的path name,这个我不是很理解。
我的做法是建一个变量static CDocument * pOnlyDocument;
if(str == _T("Hello")){
if (!pOnlyDocument)
pOnlyDocument = curTemplate->OpenDocumentFile(NULL);
return;
}
然后打开的时候(OnNewBounce或OnNewHello中),如果pOnlyDocument不为空,就直接返回。这样可以限制打开的数目,但是如何激活,就是把窗口激活。
如果不想上面那样做的话,就是利用OpenDocumentFile的第一个参数的话,提示文件路径问题,意思说要先存储,但如何存储?
OpenDocumentFile(pOnlyDocument->GetPathName())??就是pOnlyDocument如何存储,都已经是static了。