用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)
{
........
}
}