標籤:瞭解 todo serial 風格 方便 mda vs2008 修改 串口助手
通過編寫串口助手工具學習MFC過程
因為以前也做過幾次MFC的編程,每次都是項目完成時,MFC基本操作清楚了,但是過好長時間不再接觸MFC的項目,再次做MFC的項目時,又要從頭開始熟悉。這次通過做一個串口助手再次熟悉一下MFC,並做了一下記錄,以便方便以後查閱。做的過程中多是遇到問題直接百度和Google搜尋來的,所以很多都是不求甚解,知其然不知其所以然。另外做此工具只是為了熟悉瞭解,許多功能還沒有完善!(開發工具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複選框