首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

用CMSComm类,在dlg里添加OnComm(),怎么在此函数里只处理一次事件?

2012-03-07 
用CMSComm类,在dlg里添加OnComm(),如何在此函数里只处理一次事件??voidCSeriesTestDlg::OnOnCommMscomm1()

用CMSComm类,在dlg里添加OnComm(),如何在此函数里只处理一次事件??
void   CSeriesTestDlg::OnOnCommMscomm1()  
{
//   TODO:   Add   your   control   notification   handler   code   here
switch(m_ctrlComm.GetCommEvent())
{
case   2:
{
MessageBox( "2222 ");
break;
}
case   4:
{
MessageBox( "4444 ");
break;
}

default:
{
MessageBox( "other! ");
break;
}
}

}
现在我在外部传入了一个m_ctrl.GetCommEvent()==4的事件,我的意思是在接收到一次此事件时只输出一个messagebox(),但现在的情况是每次会随即输出多个messagebox(),怎么在程序里实现我要的功能??   知道给说下


[解决办法]
int m_nEvent;

初始化为-1
m_nEvent = -1;

void CSeriesTestDlg::OnOnCommMscomm1()
{
int event = m_ctrlComm.GetCommEvent();
if (event == m_nEvent)
return;

m_nEvent = event;
switch (event)
{
........
}
}

热点排行