MFC 文档/视图模式之如何获取文档内数据

        一般基于视图/文档的程序都是把自己的数据在文档类里面保存,文档类可以方便地实现打印功能和文件的串行化,在视图里面对文档类里面的数据进行操作和显示。在视图类里面直接有一个GetDocument()方法,所以取得文档类的指针很方便。  
       
        例子很容易,比如在文档类里面定义一个Public类型的变量CString   m_str;  然后在视图里面就可以这样来访问该变量:  
 
  CxxDoc   *pDoc   =   GetDocument();  
  AfxMessageBox(pDoc->m_str); 

GetDocument()方法只能在CView及其派生类中调用,若想在其他类中调用,可声明引用主框架指针或者自定义一个GetDocument()函数。

例如:

//取得框架中CMyTreeView部分的指针

 CMainFrame *pMain        = (CMainFrame *)AfxGetMainWnd(); 
 CMyTreeView  *pMyTree    = (CMyTreeView*)pMain->m_wndSplitter1.GetPane(0,0);

//调用CMyTreeView的GetDocument函数初始化文档操作指针

 CMyDoc *pDoc = (CMyDoc*)((*pMyTree).GetDocument());

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值