1. 程式人生 > >檢視新增控制元件、控制元件響應

檢視新增控制元件、控制元件響應

將控制元件設定為CView的變數

需要過載CView的OnCreate函式,對控制元件變數進行Create。

如果需要相應控制元件相關的訊息,要根據建立的ID寫好訊息對映。

----------------------------------------------------------------------------------

向檢視新增控制元件的基本過程如下:

      1、向檢視類新增控制元件成員變數

      2、過載檢視的OnCreate函式,新增對控制元件Create函式的呼叫

      3、檢視建立完成後,初始化控制元件的大小

      4、過載檢視的OnSize函式,新增對控制元件大小的設定

      5、如果要對控制元件訊息進行處理,過載檢視的OnCmdMsg函式


------------------------------------------------------------------------------------------------------------------------------------

一、CView新增控制元件

1、將控制元件設定為CView的變數

需要過載CView的OnCreate函式,對控制元件變數進行Create。

例如:
a、新增成員變數CButton   btn      

b、加入資源:IDC_MY_BUTTON   101     --> 在resource.h中

c、在某個事件中寫程式碼: 
btn.Create( "動態的按鈕 ",   MS_CHILD¦MS_BORDER,this,   IDC_MY_BUTTON); 
  --> 比如說響應某個選單項,或者滑鼠單擊,雙擊等

2、如果需要相應控制元件相關的訊息,要根據建立的ID寫好訊息對映。

手工新增,需要新增三個部分,如下: 
a、在***View.h檔案中找到新增如下:

//{{AFX_MSG(***View) 
afx_msg   void   OnButton(); 
//}}AFX_MSG

b、在***View.cpp檔案中新增: 
BEGIN_MESSAGE_MAP(***View,   CView) 
//{{AFX_MSG_MAP(***View) 
ON_BN_CLICKED(ID_BUTTON,OnButton) 
//}}AFX_MSG_MAP 
END_MESSAGE_MAP()

c、和以下程式碼: 
void   ***View::OnButton() 

//具體的處理 
}

二、CFormView新增控制元件
由於建立CFormView的時候,會自動建立一個對話方塊,並且和該對話方塊關聯,所以....隨便拖控制元件到對話方塊中即可.
訊息響應,和dialog base中訊息響應一樣。