首页 > 代码库 > 通过编写串口助手工具学习MFC过程——(五)添加CheckBox复选框

通过编写串口助手工具学习MFC过程——(五)添加CheckBox复选框

通过编写串口助手工具学习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复选框