⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 chap8_4.htm

📁 vc教程,真正的程序员用Visual C++。如果你想当程序员
💻 HTM
字号:
<html>

<head>
<title>8.4访问当前活动视图和活动文档 </title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<meta name="GENERATOR" content="Microsoft FrontPage 3.0">
<link rel="stylesheet" href="../../../cpcw.css"></head>

<body link="#3973DE" alink="#3973DE" background="../../bg.gif">
<div align="center"><center>
    <table width="85%" border="0">
      <tr bgcolor="#FFFFFF"> 
        <td> 
          <div align="center">
            <center>
            </center>
          </div>
          <p align="CENTER"><b><font color="red" face="Times New Roman">8.4</font><font color="red">访问当前活动视图和活动文档 
            </font></b><font color="#3973DE" size="4"> </font></p>
          <p> 对于SDI程序,主框架窗口就是文档框窗,可以采用以下方法取得当前文档和视图:</p>
          <p> 取得活动文档:</p>
           
          <p>CMyDocument* pDoc;</p>
          <p>pDoc=(CMyDocument*)((CFrameWnd*)AfxGetApp()-&gt;m_pMainWnd)</p>
          <p>-&gt;GetActiveDocument();</p>
          <p>或</p>
          <p> pDoc=(CMyDocument*)((CFrameWnd*)AfxGetMainWnd());</p>
          <p> 这两者是等效的。</p>
          <p> 取得活动视图:</p>
           
          <p>CMyView* pView;</p>
          <p>pView=(CMyView*)((CFrameWnd*)AfxGetApp()-&gt;m_pMainWnd)-&gt;GetActiveView();</p>
          <p>对于MDI程序,由于子窗口才是文档框窗,因此首先要用GetActiveFrame()取得活动子框架窗口,然后通过该子窗口获取活动文档和视图:</p>
           
          <p>CMDIChildWnd* pChild=(CMDIChildWnd*)((CFrameWnd*)AfxGetApp()-&gt;m_pMainWnd)-&gt;GetActiveFrame();</p>
          <p>取得活动文档:</p>
           
          <p>CMyDocument* pDoc=pChild-&gt;GetActiveDocument();</p>
          <p>CMyView* pView=(CMyView*)pChild-&gt;GetActiveView();</p>
          <p>可以把上述函数片段做成静态成员函数,比如:</p>
           
          <p>static CMyDocument::GetCurrentDoc()</p>
          <p>{</p>
          <p>CMDIChildWnd* pChild=(CMDIChildWnd*)((CFrameWnd*)AfxGetApp()- &gt;m_pMainWnd)-&gt;GetActiveFrame();</p>
          <p>CMyDocument* pDoc=pChild-&gt;GetActiveDocument();</p>
          <p>}</p>
          <p>这样就可以通过以下方式取得活动文档(或视图):</p>
          <p> CMyDocument::GetCurrentDoc();</p>
          <p> <b></b><font color="#3973DE">注:静态成员函数调用时不需要一个具体的对象与之相关联。</font></p>
          <div align="center">
            <center>
              <table border="0" cellpadding="0" cellspacing="0" width="615">
                <tr> 
                  <td><a href="chap8_3.htm">上一页</a></td>
                  <td>
                    <p align="right"><a href="chap8_5.htm">下一页</a>
                  </td>
                </tr>
              </table>
              <p><a href="http://www.cpcw.com">电脑报首页</a> <a href="../../index.htm">网络学院首页</a></p>
            </center>
          </div>
          <font size="5">
          <hr noshade color="#3973DE" size="1">
          </font>
          <p align="center"><font size="5"></font><font size="2" color="#000000">本教程由<a href="http://vcdynasty.yeah.net">Visual 
            C++王朝(Where programmers come together)</a>协助制作<br>
            未经许可,请勿以任何形式复制</font>
        </td>
      </tr>
    </table>
    
  </center>
</div>

</body>
</html>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -