13.10.1 接收数据显示控制模块(2)
该函数的实现也非常简单,就是将相应模式下保存的接收数据赋值给显示编辑关联的变量即可,实现如下:
- 01 void CComElvesDlg::OnSelchangeComrmod()
- 02 {
- 03 UpdateData(true);
- 04 SaveRMod();
- 05 m_rMod = !m_rMod;
- 06 if(m_rMod)
- 07 { //模式1
- 08 m_DRData = m_rMod1;
- 09 }
- 10 else
- 11 { //模式2
- 12 m_DRData = m_rMod2;
- 13 }
- 14 UpdateData(false);
- 15 }
【代码解析】
在切换显示情景模式前,需要保存当前显示模式的数据。第3行获取当前显示的接收数据,并在第4行将其保存。然后将情景模式的标识置反(在此只有两种模式,可以简单地如此处理)。然后在第6~14行将相应模式下的数据显示到界面上。
(3)显示控制。显示控制是一个复选框,它控制着是否将接收到的数据显示到界面上。这个复选框的ID为IDC_CHECKSHOW,利用向导为这个复选框添加一个布尔型的关联变量m_bShow,如图13.27所示。
|
| 图13.27 为复选框添加关联变量 |
当复选框被选中时,这个变量为真,在接收数据处理中将接收到的数据显示到界面上。当复选框被取消后,接收到的数据不会显示到界面上,也不会保存到情景模式对应的变量中,而是直接将这个数据丢弃。
(4)清空接收区域内的数据。当单击接收区域的"清空数据"按钮时,显示接收数据编辑框中的内容将被清空,当前情景模式对应的变量也将被清空。按钮的处理函数实现如下:
- 01 void CComElvesDlg::OnRclearn()
- 02 {
- 03 m_DRData = ""; //清空显示区域
- 04 SaveRMod(); //清空情景模式对应的变量
- 05 UpdateData(false);
- 06 }