1. 程式人生 > >關於在MFC的檢視類裡面新增各種控制元件 以及給這些控制元件新增對用的函式。2015-03-24 13:46:00

關於在MFC的檢視類裡面新增各種控制元件 以及給這些控制元件新增對用的函式。2015-03-24 13:46:00

首先我們把題目所示的要求分為兩個問題:

問題一:如何給基於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;
}

執行效果