如何建立單文件多視的結構

2021-04-14 01:10:55 字數 1326 閱讀 9428

只是把一些成型的東西拿來

在許多的多視中都是動態的建立,切換的時候,以前建立的資訊都丟失,使用下面的方法,可以動態的切換,原來的視物件資訊同樣的存在。

1、 首先建立乙個 單文件的系統框架結構

2、 在主框架中定義兩個物件

cviewone * m_pmapview;

cviewtwo * m_psceneview;

3、 在框架的中建立物件

m_psceneview 作為第二個視

m_psceneview = new cviewtwo();

m_psceneview->create(null, null, afx_ws_default_view,

crect(-100,-100,-50,-50), this, afx_idw_pane_first + 1, null);

//使其不顯示

m_psceneview->showwindow(sw_hide);

4、 定義兩個視窗的切換標誌

enum

viewstatus ;

5、  視窗的切換

bool cmainframe::changview(viewstatus m_nview )

pviewadd = m_psceneview;

pviewremove = m_pmapview;

m_ncurviewstatus= dimview;       }

else

// 將活動視的child id設定為afx_idw_pane_first

// 將其它視設定為afx_idw_pane_first以外的值,

// 這樣當呼叫cframewnd::recalclayout重新布局視窗時,

// 才會得到正確的視

int nswitchchildid = pviewadd->getdlgctrlid();

pviewadd->setdlgctrlid(afx_idw_pane_first);

pviewremove->setdlgctrlid(nswitchchildid);

// 顯示活動視而隱藏非活動視

pviewadd->showwindow(sw_show);

pviewremove->showwindow(sw_hide);

// 將新的活動視連線到文件,並斷開原來的視與文件的連線

pdoc->addview(pviewadd);

pdoc->removeview(pviewremove);

setactiveview(pviewadd);

recalclayout();

return true; }

單文件和多文件的區別

框架視窗為應用程式的使用者介面提供結構框架,它是應用程式的主視窗,負責管理其包容的視窗,乙個應用程式的最頂層的框架視窗是應用程式啟動時建立的第乙個視窗。mfc單文件視窗一次只能開啟乙個文件框架視窗,而mdi應用程式執行時,在應用程式的乙個例項中開啟多個文件框架視窗,這些視窗稱作子視窗 child w...

單文件與多文件自動文摘的概述

單文件自動文摘 單文件自動文摘是根據使用者需求按照字數或百分比等方式從原檔案中提煉出最重要資訊生成文摘的過程 其結果為足以代表該原始檔案的精簡版本,且可作為人們或其他資訊系統的判斷與決策依據。單文件自動文摘在問答 搜尋引擎 資訊系統以及醫療 金融等領域都有廣泛地應用。目前,單文件自動文摘的方法主要分...

單文件 多文件 對話方塊的區別

本質上都是視窗程式,可以說都可以實現同樣的功能。只不過對話方塊框架 程式對於控制項組成的介面有更好的包裝,適應於介面通過很多控制項呈現的簡單程式。cdialog 類提供管理對話方塊的介面,visual c 對話方塊編輯器使設計對話方塊和建立它們的對話方塊模板資源更為容易,嚮導則簡化了在對話方塊中初始...