网站导航免费论文 原创论文 论文搜索 原创论文 网学软件 学术大家 资料中心 会员中心 问题解答 原创论文 论文素材 设计下载 最新论文 下载排行 论文上传 在线投稿 联系我们
返回网学首页
网学联系
最新论文 推荐专题 热门论文 素材专题
当前位置: 网学 > 编程文档 > VC++ > 正文
文档与视图的建立和关联
来源:Http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 12/10/15
下载{$ArticleTitle}原创论文样式
p;   

       CRect rect;     

       GetClientRect(&rect);  

       size.cx = rect.right/2 ;

       size.cy = rect.bottom/2;

只要把size放在Csize(0,0)所在的位置就可以了,用这个方法我们就可以在程序中自由地实现视图窗口大小的变化了。
到了这里又有一个问题提出来了,我们不光删去或者隐藏视图,有时只是简单的视图之间的切换,也可以说有的一个框架包含多个视,而在任何时刻只能显示其中的一个视,还是后面再说吧!

三.获得视图指针。

获取视图的指针作为单独的一点来讲,自然有它的重要性,视图与文档,特别在文档与不相干的视图间,视图与视图间的消息传递及互相之间的调用函数或者变量的时候就要获取视图或文档的指针。

a)         获取文档的指针:

与文档相连的视图可以直接获取,这里就不说了,但与文档一点关系都没有的视图要想获取文档的指针就不可以直接获取了。

              CMyEditDoc * pDoc=(class CMyEditDoc *)GetDocument();    

上面就是获取的方法。

b)        获得视图指针:

                         i.              在其中的一个视图中获取其它视图的指针:

CMainFrame* MainFrame1=(CMainFrame*)this->GetParent()->GetParent();

        CMyEditView* pView=(CMyEditView*)MainFrame1->m_wndSplitter.GetPane(0,1);

This指针代表当前视图的指针,它通过获取CmainFrame的指针再去获取视图的指针,这样有个好处在于可以获得任意视图的指针。

还有一种方案可以实现,但是它有个缺点,你只能把获得的指针作为Cview的指针看待,这样你就不能实现特殊视图的功能了。

          CMyEditDoc * pDoc=GetDocument();

       CView * pView;

          POSITION pos=pDoc->GetFirstViewPosition();

          if(pos!=NULL)

       {

              pView=pDoc->GetNextView(pos);

}

在{}里加入多个pView=pDoc->GetNextView(pos);(原因我也说不出来)就可以获得你所要得视图。

如果你在开始就定义你所接触视图的指针,只不过没有初始化而已,就方面了好多。

m_pEditViewright =( CMyEditView* )m_splitterWnd.GetPane(0,1);// m_pEditViewright已定义。

                       ii.              在CmainFrame获取视图的指针:

CMyEditView* pView=(CMyEditView*)this->m_wndSplitter.GetPane(0,1);

这样就行了,同样在文档里获取视图的方法

网学推荐

免费论文

原创论文

浏览:
设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved
湘ICP备09003080号