这个问题我就不信就我一个人遇到过,求大神解答。。。

jeremy666 2013-12-14 09:39:22
我做了一个多文档项目,有五个选项卡式的视图,程序启动完成后显示的“视图五”,如下图:


现在的需求就是让程序启动时直接显示“视图二”,我试过调整视图创建的顺序,但是程序始终显示的是最后创建的那个视图,如下图:


现在要达到的效果就是程序启动完成后显示“视图二”,如下图:


真心求大神指教,这个问题已经困扰我很久了,谢谢各位了。。。
...全文
264 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
向立天 2013-12-16
  • 打赏
  • 举报
回复
选项卡是你自己写的么 可不可以设置当前页
赵4老师 2013-12-16
  • 打赏
  • 举报
回复
学会使用Spy++
jeremy666 2013-12-15
  • 打赏
  • 举报
回复
引用 7 楼 schlafenhamster 的回复:
看看你是怎么打开“我的五个视图”的? 通常 MDI 需要 open 才 打开 view 的。
这5个视图都是用OpenDocumentFile函数打开的,用了一种笨方法,程序启动完成后再模拟键盘按下ctrl + tab键两次就会切换到视图二,但是感觉这种方法治标不治本,如果实在没其他方法也就只能先用这种方法了
schlafenhamster 2013-12-15
  • 打赏
  • 举报
回复
看看你是怎么打开“我的五个视图”的? 通常 MDI 需要 open 才 打开 view 的。
jeremy666 2013-12-14
  • 打赏
  • 举报
回复
引用 5 楼 schlafenhamster 的回复:
在 doc 里 找: CDocument::GetFirstViewPosition CDocument::GetNextView
貌似没用,可能我没说清楚,我的五个视图我用了五个文档类,每个视图对应一个文档类,子框架类一个,主框架一个,还请大神再指点指点,先谢过了。。。
schlafenhamster 2013-12-14
  • 打赏
  • 举报
回复
// hide mainview m_pMainView->SetDlgCtrlID(AFX_IDW_PANE_FIRST+1); AFX_IDW_PANE_FIRST 是当前显示的 view
schlafenhamster 2013-12-14
  • 打赏
  • 举报
回复
在 doc 里 找: CDocument::GetFirstViewPosition CDocument::GetNextView
jeremy666 2013-12-14
  • 打赏
  • 举报
回复
我再顶,知道解决为止。 我的五个视图都是用下面代码来生成的,不是用Create函数创建的 [code=c]CMultiDocTemplate* pRadParamEditDocTemplate; pRadParamEditDocTemplate = new CMultiDocTemplate(IDR_RadarParamEditTYPE, RUNTIME_CLASS(CParamEditDoc), RUNTIME_CLASS(CChildFrame), // 自定义 MDI 子框架 RUNTIME_CLASS(CParamEditView)); if (!pRadParamEditDocTemplate) return FALSE; AddDocTemplate(pRadParamEditDocTemplate);
jeremy666 2013-12-14
  • 打赏
  • 举报
回复
我顶!!!
jeremy666 2013-12-14
  • 打赏
  • 举报
回复
引用 1 楼 schlafenhamster 的回复:
// hide mainview m_pMainView->SetDlgCtrlID(AFX_IDW_PANE_FIRST+1); AFX_IDW_PANE_FIRST 是当前显示的 view
师兄,m_pMainView这个变量是怎么得到的啊,求详解。。。

15,979

社区成员

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

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