subject_17376.htm

来自「一些关于vc的问答」· HTM 代码 · 共 18 行

HTM
18
字号
<p>
序号:17376 发表者:小肚鸡肠 发表日期:2002-10-10 21:05:31
<br>主题:怎样获得静态折分窗口窗格内视图对象的指针?
<br>内容:我覆盖了顶层框架窗口的OnCreateClient()函数,并用如下语句:<BR><BR>m_wndSplitter.CreateStatic(this, 1, 2) ;<BR><BR>创建了一个一行两列的静态折分窗口。然后使用CreateView()在折<BR>分窗格内创建视图:<BR><BR>m_wndSplitter.CreateView(0, 1, RUNTIME_CLASS(CRightView),<BR>    CSize(0, 0), pContext) ;<BR>m_wndSplitter.CreateView(0, 0, RUNTIME_CLASS(CTestView),<BR>&nbsp;&nbsp;&nbsp;&nbsp;CSize(192, 0), pContext)) ;<BR><BR>传递给CreateView()的第三个参数是我从CView派生出来的视图<BR>类。经过RUNTIME_CLASS宏的运算后,实际传递给CreateView()函<BR>数的是一个CRuntimeClass类的指针。MFC用这个指针动态构造了位<BR>于折分窗格内的视图对象。此时,我想在程序的其它地方,比如主<BR>框架窗口类的一个菜单处理过程中想获得这两个视图对象的指针和<BR>由这两个视图对象创建出来的窗口的子窗口ID,该怎么做呢?<BR><BR>
<br><a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p>
<hr size=1>
<blockquote><p>
<font color=red>答案被接受</font><br>回复者:凯凯 回复日期:2002-10-10 22:18:44
<br>内容:得到视的指针用<BR>CRightView *pRightView = (CRightView *)m_wndSplitter.GetPane(0,1);<BR>CTestView *pTestView = (CTestView *)m_wndSplitter.GetPane(0,0);<BR><BR>得到ID用<BR>int iTestViewID = m_wndSplitter.IdFromRowCol(0,1);<BR>int iRightViewID = m_wndSplitter.IdFromRowCol(0,0);
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:小肚鸡肠 回复日期:2002-10-11 17:16:32
<br>内容:非常感谢!
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>

⌨️ 快捷键说明

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