關於在MFC的檢視類裡面新增各種控制元件 以及給這些控制元件新增對用的函式。2015-03-24 13:46:00
阿新 • • 發佈:2018-12-27
首先我們把題目所示的要求分為兩個問題:
問題一:如何給基於MFC的單文件檢視類裡面新增 控制元件。就是那種類似工具箱裡面的控制元件。
問題二:如何給已經新增的控制元件 定義一些訊息的響應函式。
××××××××××××××××××××××××××××××××××××××××××××××
前言: 如果是給對話方塊新增一個控制元件 ,然後給這個控制元件新增訊息響應函式是非常簡單。IDE有一整套嚮導可以幫助我們幹這個事情。
但是如果是直接給檢視類新增控制元件 似乎就比較困難了。
但是很多牛X的人看到框架類可以像一個籮筐絲的把 選單欄,狀態列,工具欄,還有檢視類的例項化物件等等裝入到自己的框架裡面。
為啥就不可以讓檢視類的例項化物件也變成一個籮筐,往裡面塞一些東西? 答案是可以的。理論上講可以往檢視類裡面塞任何視窗。
此處舉一個例子說明下,這個例子是往檢視類裡面塞進去一個按鈕視窗。
參考的資料是:
http://blog.csdn.net/chao360559040/article/details/5886219
http://blog.sina.com.cn/s/blog_93491c750101b6qa.html
http://www.cnitblog.com/buf/archive/2008/12/16/42270.html
具體步驟是:
A:在檢視類的標頭檔案裡面新增一個按鈕類的例項化物件,這個物件作為檢視類的成員變數。
B:重寫檢視類的OnCreate函式
int CTestGszView::OnCreate(LPCREATESTRUCT lpCreateStruct) { if (CView::OnCreate(lpCreateStruct) == -1) return -1; // TODO: 在此新增您專用的建立程式碼 m_TestButton.Create( "一個按鈕",//按鈕的標題 相當於屬性裡面的Caption WS_VISIBLE|WS_CHILD|WS_BORDER,//按鈕的風格 CRect(40,10,200,60),//按鈕所在的位置和大小 this,//父視窗指標 0x1001//控制元件的ID ); m_TestButton.ShowWindow(SW_SHOWNORMAL);//顯示出來 return 0; }
執行效果