Button控件使用总结

来源:互联网 发布:it英语词汇 编辑:程序博客网 时间:2024/05/16 10:34
    按钮控件在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
原创粉丝点击