Button控制項使用總結

來源:互聯網
上載者:User
    按鈕控制項在MFC中使用CButton表示,CButton包含了三種樣式:Push Button,Check Box,Radio Button。
一、靜態控制項    將Toolbox中的Push Button,Check Box,Radio Button控制項拖放到對話方塊中,並使用VisualStudio的Wizard功能關聯CButton變數及添加對應響應事件。    當然,將Button控制項拖放到對話方塊上之後,也可以手動關聯變數及添加事件響應函數。    步驟如下(以Push Button為例):    1.在對話方塊類中添加變數CButton m_btn;    2.關聯變數:在DoDataExchange函數中添加DDX_Control(pDX, IDC_BUTTON1, m_btn);    3.添加訊息映射:      在BEGIN_MESSAGE_MAP和END_MESSAGE_MAP之間添加:ON_BN_CLICKED(IDC_BUTTON1, &CTestDlg::OnBnClickedButton1)      並添加對話方塊類的成員函數void CTestDlg::OnBnClickedButton1()。
二、動態建立1.建立CButton執行個體  CButton *p_MyButton = new CButton();2.調用CButton類的Create()函數建立  該函數原型如下:  BOOL Create(      LPCTSTR lpszCaption,      DWORD dwStyle,      const RECT& rect,      CWnd* pParentWnd,      UINT nID);  lpszCaption --- 按鈕上顯示的文本  dwStyle     --- 視窗風格,可以是以下風格的組合:                  【通用】                  WS_CHILD    子視窗,必須有                  WS_VISIBLE  視窗可見                  WS_TABSTOP  可用Tab鍵切換焦點                  WS_GROUP    成組,用於Radio Button按鈕組中的第一個按鈕                  WS_DISABLED 禁用視窗                  【按鈕專用】                  BS_PUSHBUTTON       下壓式按鈕即Push Button                  BS_AUTORADIOBUTTON  選項按鈕及Radio Button                  BS_AUTOCHECKBOX     複選按鈕及Check Box  rect        --- 按鈕的大小和位置  pParentWnd  --- 父視窗  nID         --- 和按鈕關聯的ID3.添加訊息映射(同上)4.銷毀資源  delete  在CButton類的解構函式中有調用DestroyWindow來釋放和其相關的視窗資源

程式碼範例:

// 建立Push ButtonCButton *m_pMyButton = new CButton();CRect rcBtn(0, 0, 100, 20);m_pMyButton->Create(TEXT("Test"),  WS_CHILD | WS_VISIBLE | WS_TABSTOP | BS_PUSHBUTTON,    rcBtn, this, 1000);// 設定和對話方塊一樣的字型m_pMyButton->SetFont(this->GetFont());// 釋放資源delete m_pMyButton;
三、具體使用細則1.Radio Button的Group規則WS_GROUP風格指定Radio Button組的首個控制項。該控制群組是由這個首控制項和在它之後定義的所有Radio Button組成,直到下一個擁有WS_GROUP風格的Radio Button為止。2.GetCheck與SetCheck功能:擷取及設定Radio Button以及Check Box的選擇狀態int GetCheck( ) const;       傳回值為BST_UNCHECKED,BST_CHECKEDvoid SetCheck(int nCheck);    nCheck為BST_UNCHECKED,BST_CHECKED

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.