多文档中新建视图

ddppqq 2011-04-07 04:16:20
我开发的一个多文档程序,在程序中通过AddDocTemplate添加了三个文档类,A,B,C,而我每次用到某一个类视图的时候都要手动点击新建按钮然后点击相应的视图进行创建,如何编程自动实现这一过程呢??
我要实现的效果大致是这样的,当程序在A视图中进行某一操作的时候,检查B视图是否存在,如果存在向其传递一些参数(或者说是设置B视图中的某些参数),然后跳转到视图B自动执行视图B中的一些操作;而如果B视图不存在,则先创建此视图然后再向其传递参数,自动执行B视图操作。。

敢问各位大大。。。这种想法能否实现,能否给小弟指点迷津一记???
...全文
149 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
lvdalin 2011-04-11
  • 打赏
  • 举报
回复
这个嘛,debug到mfc代码就很清楚了。
litaopro 2011-04-11
  • 打赏
  • 举报
回复
你可以看看侯捷的mfc深入浅出
ddppqq 2011-04-10
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 xianglitian 的回复:]
你说点按钮才能新建
那自动执行按钮里的代码不就可以了
[/Quote]
点击实现是由MFC通过CCommandInfo结构体和一个好像是ParseCommand的函数来实现的,在APP类中实现,感觉自动实现起来不太方便呢
ddppqq 2011-04-10
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 gordon3000 的回复:]
完全可以实现。
如果你新建的时候不想出现3个让你选择,可以重写OnFileNew(),在里面pApp->m_pDocTemplate->OpenDocumentFile(文件名);打开指定的文档模板。

至于说你要实现的效果,你可以为3个文档模板建立三个与之对应的Doc类的指针的列表,CPtrArray就可以,哪个文档模板创建了一个Doc类的对象,就把对象添加到列表里面,由于是多文档,3个列……
[/Quote]
OpenDocumentFile的参数文件名是怎么指定的??是AddDocumentTemplate时添加的么??
副组长 2011-04-10
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 ddppqq 的回复:]
引用 2 楼 gordon3000 的回复:
完全可以实现。
如果你新建的时候不想出现3个让你选择,可以重写OnFileNew(),在里面pApp->m_pDocTemplate->OpenDocumentFile(文件名);打开指定的文档模板。

至于说你要实现的效果,你可以为3个文档模板建立三个与之对应的Doc类的指针的列表,CPtrArray就可以,哪个文档模板创建了一个Doc类的对……
[/Quote]
自己指定,通常不是也遇到“未命名1”,“未命名2” 等缺省名字。
无水先生 2011-04-08
  • 打赏
  • 举报
回复
再自顶一个
无水先生 2011-04-08
  • 打赏
  • 举报
回复
我也遇到同样问题,放弃了,改用单文档多视,学习了
向立天 2011-04-08
  • 打赏
  • 举报
回复
你说点按钮才能新建
那自动执行按钮里的代码不就可以了
副组长 2011-04-08
  • 打赏
  • 举报
回复
完全可以实现。
如果你新建的时候不想出现3个让你选择,可以重写OnFileNew(),在里面pApp->m_pDocTemplate->OpenDocumentFile(文件名);打开指定的文档模板。

至于说你要实现的效果,你可以为3个文档模板建立三个与之对应的Doc类的指针的列表,CPtrArray就可以,哪个文档模板创建了一个Doc类的对象,就把对象添加到列表里面,由于是多文档,3个列表里面每个都可能有0个或者多个Doc指针。这样你在A里面GetApp就可以检查B的列表是不是空,如果说是空,就OpenDocumentFile建立一个。
lyyscf 2011-04-07
  • 打赏
  • 举报
回复
在C**App中定义这三个视图类图的指针,
并初始化为 NULL
当程序在A视图中进行某一操作的时候,看B对应的指针是不是为NULL
不是就存在,操作它就可以了

15,979

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧