??这个视图我如何得到??

sunriversun 2003-08-21 02:41:27
在MDI中,有两个视图分属不同的模板及文档类型,并且它们的框架也不同,一个是CChildFrame,另一个是从CMDIChildWnd派生来的CMyMDIChildWnd,
均设置为当窗口出现时就最大化,现在把两种窗口都打开,
当我想在这两种窗口之间切换(同种类型的窗口只要求打开一个,不再创建新的窗口)时却无把实现,想把后面的窗口显示到前面来,有什么办法呢?

我看到有些贴子上从某个视图用GetParentFrame()得到他的父框架,可是我想得到另一个框架,从而得到他的视图怎么办?

各位大侠救救我!
...全文
19 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
sunriversun 2003-08-21
  • 打赏
  • 举报
回复
我正在研究你说的第一种方法,其实我也想得到View,

你刚说的我试过了,很好用,非常感谢!

给分!
fireant25 2003-08-21
  • 打赏
  • 举报
回复
呵呵,好像有点儿不大对题了。你是要得到框架的句柄,我说得是得到View。
如果你两个子窗口在程序运行时都已经打开了,就可以在CMainFrame里面调用
MDINext函数就可以让后面的那个子窗口显示到前面来。
sunriversun 2003-08-21
  • 打赏
  • 举报
回复
试试看!
fireant25 2003-08-21
  • 打赏
  • 举报
回复
你两个窗口对应的不同的文档模板,那么问题就比较简单了。
CDocTemplate* pTemplate;
POSITION pos=app->GetFirstDocTemplatePosition(); //得到第一个文档模板的位置
if(pos!=NULL)
{
pTemplate=app->m_pDocManager->GetNextDocTemplate(pos) //得到第一个文档模板
if(pTemplate!=NULL) //如果不空
{
ASSERT(pTemplate != NULL);
ASSERT_KINDOF(CDocTemplate, pTemplate); //确定是文档模板
/*如果与GetNextDocTemplate配合可以得到所有的文档模板,因为你是两个文档模板,所以如果你要得到第二个文档模板,就需要再调用GetNextDocTemplate一次。
而后由pTemplate->GetFirstDocPosition()与GetNextDoc(pos)配合可以得到所有的文档对象,再由pDocument->GetFirstViewPosition()与GetNextView(pos)配合可以得到所有
的视图类的句柄,不论它是否处于激活状态。当然最好配合RUNTIME_CLASS与IsKindOf函数
检查是否是你需要的View类。*/
sunriversun 2003-08-21
  • 打赏
  • 举报
回复
怎么没人理我呢?

是问题太简单了?

救我!

15,979

社区成员

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

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