EVC 定时器和edit box使用笔记

来源:互联网 发布:淘宝如何做返利链接 编辑:程序博客网 时间:2024/06/02 01:59

 这两天更新了一下原来的test utilitly,使串口和红外数据可以定时自动发送,其中要用到定时器.并更正了接受窗口用到的edit box控件中的一个小问题,在此作个笔记.

1.EVC 中应用简单的定时器

在send按钮的函数里加入了装载定时器函数:

 

  1.   //启动1s定时器,用于定时向com 发送数据
  2.   m_timerID1=SetTimer(1,1000,NULL);//第一个参数为定时器ID号:1,第二个参数为时间1000ms
  3.   if(m_timerID1==0)
  4.    {
  5.    AfxMessageBox(_T("fail to install the timer!"));
  6.    }

当send数据时再次按下send/stop按钮stop发送数据,这时在定时函数里要kill掉timer

  1. void page_irda::OnTimer(UINT nIDEvent) 
  2. {
  3.  // TODO: Add your message handler code here and/or call default
  4.   if(nIDEvent==1)//timer ID
  5.   {  
  6.   if(bSend)//send按钮打开
  7.   {
  8.         SendData();//定时时间到,向端口发送数据
  9.   }
  10.   else//再次按下send按钮,stop发送
  11.   {KillTimer(m_timerID1);}
  12.   }
  13.  CPropertyPage::OnTimer(nIDEvent);
  14. }

这样就实现了简单的1s定时发送数据给com口.

2.EDIT BOX属性设置注意.

2.1最初没有注意,数据接受框edit box属性设置成,如图

结果如下图,接收框每行有很多数据,而且新接收的都在后面,看不见了.

2.2后来改edit 属性,如下图

结果,显示出来了横向滚条,但是每行还是很多数据,可以通过拉动滚条,查看数据,如下图

2.3改edit box属性,不选中Horizontal scroll ,Auto HScroll项,结果就正常了.如下图设置

结果:

edit box显示多行和换行主要要选中Multiline  Want return项.

小节:这些设置应该说是很基础的,但对我这个初学者,还是容易犯错的.在此记录下来.作为学习总结吧.

 

 

原创粉丝点击