文档视图结构下多视图间的控制
程序結構:
創建了一個基于CFormView的MFC文檔視圖結構的程序,并用CSplitterWnd將窗口分割為2列,左邊顯示默認創建CFormView視圖,右邊是CHtmlView視圖。
在CFormView視圖上添加一個按鈕,通過點擊按鈕在CHtmlView顯示一個網頁。
從一個視圖中控制另一個視圖的方法如下:
第一步:獲取文檔對象指針
第二步:遍歷所有視圖,并進行判斷
第三步:將獲取的視圖指針強制轉換為CHtmlView指針
代碼如下:
//獲取文檔對象指針
CTestDoc *pDoc = GetDocument();
//獲取第一個視圖對象的位置
POSITION pos= pDoc->GetFirstViewPosition();
CView *pTestView = NULL;
//遍歷視圖
while ( pos != NULL )
{
??? //獲取下一個視圖
??? pTestView=pDoc->GetNextView(pos);
??? //判斷是否為需要的視圖
??? if ( pTestView->IsKindOf( RUNTIME_CLASS( CMyHtml ) ) )
??? {
??????? ( ( CMyHtml* )pTestView )->Navigate2( _T( "http://www.baidu.com" ), NULL, NULL );
??????? break;
??? }
}
方法二:
上面的CView還可以是你的CxxView ?
? 比如你在Pane(0,1)創建了CTest1View ?
? 你就可以這樣得到它的指針CTest1View ? * ? pView=(CTest1View ? *)wndSplitter.GetPane(0,1); ?
? 當然別忘了包含頭文件 ?
轉載于:https://www.cnblogs.com/pcdelphi/archive/2009/06/30/2018021.html
總結
以上是生活随笔為你收集整理的文档视图结构下多视图间的控制的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 配置Oracle Instant Cli
- 下一篇: 怎样去理解@ComponentScan注