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(),怎么在程序里实现我要的功能?? 知道给说下

解决方案 »

  1.   

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

  2.   

    弄清楚为什么会输出多个messagebox会更有帮助些。
      

  3.   

    ouyh12345(五岭散人) ---->say"弄清楚为什么会输出多个messagebox会更有帮助些。"感谢你的指点,可以的话再把上边引用你的话说仔细点,为什么会多次调用呢,而且是随即的..