按鈕控件編程實例

一:按鈕控件

按鈕控件有一般的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);
}


這樣就可以在文本框中顯示結果了;






發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章