首先在c#裡新增乙個窗體,命名為mdimain,將其ismdicontainer設定成true,這樣mdi主窗體就建立了。然後再新增新窗體,命名為mdichild。現在執行程式,會發現只執行了mdimain這個主窗體。呵呵因為我們沒有寫任何**,第二個窗體當然不能出現了。現在來新增這個**。
在mdimain窗體上新增乙個menu,然後隨便寫個子選單。雙擊子選單,會出現它的click事件,在這個事件內寫如下**:
mdichild frmmdichild=new mdichild();
frmmdichild.mdiparent=this;
frmmdichild.show();
這樣在單擊選單項的時候就能顯示mdichild這個窗體了。但是這樣會出現乙個問題,就是說如果我按兩次那個選單項就會出現兩個mdichild窗體,呵呵,這是因為在c#中窗體就是乙個class,用剛才的**就新建了乙個mdichild的例項。所以你按幾次選單項就會出現幾個窗體了。控制的方法之一就是寫乙個變數,來存放是否開啟了這個窗體,如果開啟了就不繼續執行了。這個小**還是很簡單的。
如果想通過程式關閉mdichild窗體,只需在mdichild裡新增乙個button,在button的click事件裡寫上close();就可以了。
程式示例片段如下:
p rivate void 開啟csv檔案toolstripmenuitem_click(object sender, eventargs e)
p rivate void 關閉toolstripmenuitem_click(object sender, eventargs e)
p rivate void 層疊toolstripmenuitem_click(object sender, eventargs e)
p rivate void 水平排列toolstripmenuitem_click(object sender, eventargs e)
p rivate void 豎直排列toolstripmenuitem_click(object sender, eventargs e)
框架視窗的建立
構造cframewnd視窗三種途徑 1 使用create函式直接構造 2 使用loadframe函式直接構造 3 通過文件模板直接構造 在使用create或loadframe之前,必須使用c new操作符在堆中構造框架視窗物件。在呼叫create函式之前,必須使用afxregisterwndclas...
MFC視窗的建立
新建乙個空的win32 project 我的編譯器版本vs2013 在新增項中選擇空專案 工程建立完成後,在標頭檔案與原始檔的資料夾中分別新增乙個乙個.h檔案與.cpp檔案起名為mfc.h與mfc.cpp 自擬 在標頭檔案中分別建立應用程式類與視窗架構類,如下 include mfc標頭檔案 cla...
建立拆分視窗
在mfc導航中 選擇了拆分視窗,但是執行時,還是單一視窗,這需要我們手動的過載函式oncreateclient lpcretestruct,ccreatecontext pcontext 來實現拆分,當然前提已經建立了基於cview的檢視 本例中為 cpathview 例項如下 首先在mainfrm...