內容爲:
每一個單文檔程序,都固定的有一個CMainFrame類,要產生Button按鈕。兩種方法:
Way 1:
定義一個CButton類的對象btn。在MainFrm.h裏定義一個private:類型的CButton btn;
在int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)函數的return
注意:(1)btn不能放在OnCreate裏,否則OnCreate的生命期結束了,就析構了btn了。(2)btn.Create裏的第二個參數或上了一個WS_VISIBLE就不用調用btn.ShowWindow(SW_SHOWNORMAL)了。否則需要顯示調用ShowWindow。(3)第四個參數之所以可以是this指針,因爲它是指向對象,是從CWnd派生出來的,所以匹配。第五個參數隨便制定,爲int就好。0;前邊加上btn.Create("豆豆的按鈕",WS_CHILD|WS_VISIBLE,CRect(0,0,100,40),this,123);
運行結果截圖:第二個參數或了一個BS_AUTORADIOBUTTON,顯示爲一個三態選擇按鈕。
Way
在CLesson3View類上右鍵Add Member Viarable。也可以在Lesson3View.h裏添加private:類型的
CButton btn;注意不是在MainFrm.h 在CLesson3View類上右鍵選擇Add Windows Message Handlers,在New Windows Message/events:裏選擇WM_CREATE,選擇Add Handler,點Edit Existing,看到多了一個Oncreate,在return 0前加代碼即可。
//////////////////////////////////////////////////////////////////////////////////////////
way1:
在MainFrm.h裏定義
private:
CButton btn1;
CButton btn2;
CButton btn3;
在int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)函數的return
btn1.Create("開始",WS_CHILD|WS_VISIBLE,CRect(240,5,320,25),this,123);
btn2.Create("暫停",WS_CHILD|WS_VISIBLE,CRect(325,5,405,25),this,124);
btn3.Create("結束",WS_CHILD|WS_VISIBLE,CRect(410,5,490,25),this,125);
運行顯示爲:
即way2。
可以知道,way1在CMainFrame類中創建的按鈕在標題欄下的任務欄處。
way2在view類中創建的按鈕在窗戶的客戶區內。
////////////////////////////////////////////////////////下面爲按鈕添加處理函///////////////////////////////////////////////////////////////////////////
(1)在窗戶的客戶區內添加按鈕及其響應函數
參考:http://blog.sina.com.cn/s/blog_65bda7120100hfvb.html
第一步:添加一個按鈕