Button控件使用总结

    按钮控件在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         --- 和按钮关联的ID
3.添加消息映射(同上)
4.销毁资源
  delete
  在CButton类的析构函数中有调用DestroyWindow来释放和其相关的窗口资源
代码示例:
// 创建Push Button
CButton *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_CHECKED
void SetCheck(int nCheck);
    nCheck为BST_UNCHECKED,BST_CHECKED


你可能感兴趣的:(Button控件使用总结)