1. 程式人生 > >通過編寫串口助手工具學習MFC過程——(五)添加CheckBox復選框

通過編寫串口助手工具學習MFC過程——(五)添加CheckBox復選框

gin times blog 做了 mda 使用 時有 mbo margin

通過編寫串口助手工具學習MFC過程

因為以前也做過幾次MFC的編程,每次都是項目完成時,MFC基本操作清楚了,但是過好長時間不再接觸MFC的項目,再次做MFC的項目時,又要從頭開始熟悉。這次通過做一個串口助手再次熟悉一下MFC,並做了一下記錄,以便方便以後查閱。做的過程中多是遇到問題直接百度和谷歌搜索來的,所以很多都是不求甚解,知其然不知其所以然。另外做此工具只是為了熟悉了解,許多功能還沒有完善!(開發工具VS2008)

(五)添加CheckBox復選框

屬性:Caption用於顯示文本內容。

技術分享 技術分享

添加控件、修改屬性ID和增加變量部分略,參見按按鈕部分。

1、CheckBox的基本功能:

check1.GetCheck();

復選框用的最多的功能就是判斷是否狀態被選中。用鼠標選中時會在方框處打上勾。

CButton::GetCheck
int GetCheck( ) const;
返回值:
對於采用BS_AUTOCHECKBOX、BS_AUTORADIOBUTTON、BS_AUTO3STATE、BS_CHECKBOX、BS_RADIOBUTTON或BS_3STATE風格建立的按鈕,返回值為下列之一:

含義

0

按鈕處於未選中狀態

1

按鈕處於選中狀態

2

按鈕狀態不定(僅當按鈕風格為BS_3STATE或BS_AUTO3STATE時)如果按鈕是其它風格,則返回0。

說明:本函數用於檢測單選鈕或復選框的選中狀態。

CButton::SetCheck
void SetCheck( int nCheck );
參數:

nCheck

指定按鈕控件的選中狀態。可能的取值如下:

含義

0

把按鈕設為未選中狀態

1

把按鈕設為選中狀態

2

把按鈕設為不確定狀態。僅當按鈕的風格是BS_3STATE或BS_AUTO3STATE時有效

說明:
本函數用於設置或者重置單選鈕和復選框的狀態。它對一般的按鈕沒有影響。

上面這兩個函數可以看出,單選鈕和復選框也被看成是按鈕的一種。

(2)實現特殊功能:復選框實現 類似單選功能(可以不選或只能選擇其中一項)

實現方法:選中一個復選框時,將其他的復選框設置為未選中的狀態。

在資源視圖中,雙擊對話框中的復選框即為創建點擊消息類型OnBnClicked,將要實現這個功能的兩個復選框都創建這兩個消息類型和響應事件函數

//時間戳復選框 操作時本地時間復選框失能

void CserialtestDlg::OnBnClickedCheckTimestamp()

{

// TODO: 在此添加控件通知處理程序代碼

if(m_ComboTimeStamp.GetCheck()) //判斷當前狀態是否被選中

{

//m_ComboLocalTime.EnableWindow(FALSE); //使控件失能

m_ComboLocalTime.SetCheck(0); //表示設置復選框為“未選中”狀態;

}

else

{

//m_ComboLocalTime.EnableWindow(TRUE);

}

}

//本地復選框 操作時時間戳復選框失能

void CserialtestDlg::OnBnClickedCheckLocaltime()

{

// TODO: 在此添加控件通知處理程序代碼

if(m_ComboLocalTime.GetCheck())

{

//m_ComboTimeStamp.EnableWindow(FALSE); //使控件失能

m_ComboTimeStamp.SetCheck(0); //表示設置復選框為“未選中”狀態;

}

else

{

//m_ComboTimeStamp.EnableWindow(TRUE);

}

}

實現方法中主要使用了GetCheck()和SetCheck()獲取復選框狀態和設置復選框狀態函數兩個函數。

通過編寫串口助手工具學習MFC過程——(五)添加CheckBox復選框