CLabel的用法

DDX_Control(pDX, IDC_STATIC_CONNSTATE, m_labConnState);


IDC_STATIC_CONNSTATE  是某静态控件的ID,设置这个静态控件的控制变量m_labConnState,于是自动生成了上面的那句话


CLabel m_labConnState;  定义了这个控制变量为CLabel 类







然后就可以调用它的方法了:

#ifdef _CHS                                                                              //注意这些代码都是写在OnInitDialog()初始化函数中的 实现中英文的切换
m_labConnState.SetText("发卡器未连接");
#else
m_labConnState.SetText("Card Issuer Not Connected");
#endif


在初始化函数中就实现了网络的连接,BOOL bOk = InitResource(); 这个函数据调用了UDP类的函数,打开了网路连接


stdafx.h文件中包含了一些必要的头文件(如afxwin.h)在初始化的时候PostMessage(WM_CLOSE); 在某种情况下发送一个关闭的消息


PostMessage是Windows API(应用程序接口) 中的一个常用函数,用于将一条消息放入到消息队列中。

函数功能
  该函数将一个消息放入(寄送)到与指定窗口创建的线程相联系消息队列里,不等待线程处理消息就返回,是异步消息模式。消息队列里的消息通过调用GetMessage和PeekMessage取得。




StartUdpServer 在初始化的时候就开了资源



定时器的用法


SetTimer(TIMER_LEDTIME,1000,NULL);

#define TIMER_AUTODETECH 1000 //自动连接UDP的时间定时器的编号
#define TIMER_LEDTIME 1001          //灯亮的时间定时器的编号
#define TIMER_SENDHTOWEB 1002  //定时发送穿透数据到web 确保web能发送数据回来

1表示定时器的ID,1000表示没1000ms也就是1s调用一次处理函数,最后一个参数是处理的函数,如果填NULL表示,使用系统默认的,默认处理函数是OnTimer()那个函数,在这里面写你要执行的操作就可以了,如果你有多个定时器要在这里写if(id == 1)类似的东西去区分不同的定时器,更换贴图最好是在OnTimer里面更换当前显示的图片编号,然后刷新界面,更换图片的工作让OnPaint去做,让他们各司其职。关闭定时器:KillTimer(1)


定时器的处理函数:

OnTimer函数中这样写:  
void CMyClass::OnTimer(UINT nIDEvent)   
 
    switch(nIDEvent)     //判断事件的类型
     
     case ID_TIMER1:  
         // id为1的计时器要做的事。  
         ……  
         break;  
     case ID_TIMER2:  
         //id为2的计时器要做的事。  
         ……  
         break;  
     ……  
     ……  
     



void CCardIssuerDlg::OnTimer(UINT nIDEvent) 

OnTimer函数直接写在对话类的CPP文件里面,没有被调用过,类似于单片机中的定时器中断函数,中断函数就是最高层了,是不受其他函数所调用的


通过了定时器的操作函数把数据添加到了链表中 m_lsSendMsg.AddTail(stMsg);

然后再这个CUDP的发送线程里  CUdpServer::threadUdp(LPVOID lp)   轮询等待    while(pUdpServer->m_lsSendMsg.GetCount()),不断发送,直到数据发送完毕为止






  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值