按钮控件编程实例

一:按钮控件

按钮控件有一般的button按钮,radio button单选按钮和check button按钮;他们都是派生于CButton类的实例对象,综合这些按钮可以实现不同的功能;

二:编程实例

1:创建基于MFC对话框的应用程序,设计对话框如下:


2:给6个check 复选择按钮添加六个control变量;m_check1,...m_check6;然后在初始化对话框的函数里,BOOL CButtonDlg::OnInitDialog()中添加如下代码:

	// TODO: 在此添加额外的初始化代码
	m_check1.EnableWindow(FALSE);
	m_check2.EnableWindow(FALSE);
	m_check3.EnableWindow(FALSE);
	m_check4.EnableWindow(FALSE);
	m_check5.EnableWindow(FALSE);
	m_check6.EnableWindow(FALSE);

	m_check1.SetCheck(0);
	m_check2.SetCheck(0);
	m_check3.SetCheck(0);
	m_check4.SetCheck(0);
	m_check5.SetCheck(0);
	m_check6.SetCheck(0);

初始化对话框,使六个复选择按钮均不能被选择,而且均为选中;

3:给三个radio button添加消息响应函数:

void CButtonDlg::OnBnClickedRadioPortal()
{
	// TODO: 在此添加控件通知处理程序代码
	OnInitDialog();
	m_check2.EnableWindow(TRUE);
	m_check3.EnableWindow(TRUE);
}

void CButtonDlg::OnBnClickedRadioForum()
{
	// TODO: 在此添加控件通知处理程序代码
	OnInitDialog();
	m_check4.EnableWindow(TRUE);
	m_check6.EnableWindow(TRUE);
}

void CButtonDlg::OnBnClickedRadioBlog()
{
	// TODO: 在此添加控件通知处理程序代码
	OnInitDialog();
	m_check1.EnableWindow(TRUE);
	m_check5.EnableWindow(TRUE);
}

可以看到,选择后先初始化目的是为了消除上一次选择的影响;同时使对应的复选择框EnAbleWindow,可以被选中;

4:在EditControl中显示选择结果,在确定按钮中添加消息响应函数:

void CButtonDlg::OnBnClickedButton1()
{
	// TODO: 在此添加控件通知处理程序代码
	CString strWebsite;
	if(m_check1.GetCheck()==1)
	{
		strWebsite +=_T("CSDN ");
	}
	if(m_check2.GetCheck()==1)
	{
		strWebsite +=_T("百度 ");
	}
	if(m_check3.GetCheck()==1)
	{
		strWebsite +=_T("新浪 ");
	}
	if(m_check4.GetCheck()==1)
	{
		strWebsite +=_T("凤凰论坛 ");
	}
	if(m_check5.GetCheck()==1)
	{
		strWebsite +=_T("腾讯微博 ");
	}
	if(m_check6.GetCheck()==1)
	{
		strWebsite +=_T("CC98 ");
	}
	SetDlgItemText(IDC_EDIT1,strWebsite);
}


这样就可以在文本框中显示结果了;






猜你喜欢

转载自blog.csdn.net/zhang_alongzd/article/details/51475381
今日推荐