BOOL CEx_1Dlg::OnCommand(WPARAM wParam, LPARAM lParam) 
{
// TODO: Add your specialized code here and/or call the base class
WORD  nCode = HIWORD(wParam);
WORD  nID = LOWORD(wParam);
if ((nID == 201)&&(nCode == BN_CLICKED))
MessageBox("Äã°´ÏÂÁË\"ÄãºÃ\"°´Å¥£¡");//1
if ((nID == IDC_BUTTON1)&&(nCode == BN_CLICKED))
MessageBox("ÕâÊÇÔÚOnCommand´¦ÀíµÄ½á¹û£¡");//2
        else 
                MessageBox("其他");//3
return CDialog::OnCommand(wParam, lParam);
}
我点击了ID为201的控件,那么会执行1语句,弹出Box,我点击它的确定,它会返回OnCommand函数继续执行,我调试后发现它执行了3语句,那到底我点击了确定后,发出了什么消息?能不能屏蔽?我是新手,请高手多多指教!

解决方案 »

  1.   

    BOOL CAnzhuDlg::OnCommand(WPARAM wParam, LPARAM lParam) 
    {
        WORD  nCode = HIWORD(wParam);    
        WORD  nID = LOWORD(wParam);        
        if ((nID == IDC_BUTTON2 )&&(nCode == BN_CLICKED))
        {
            int i = MessageBox("IDC_BUTTON2","提示",MB_OKCANCEL);
    if (i == 1)  // i 的值点OK 是1  ,点 CANCEL 是2
    {
     return 1;  //点确定的话就直接跳出 OnCommand 函数,就屏蔽了。
            }
        }
        if ((nID == IDC_BUTTON1)&&(nCode == BN_CLICKED))
        {
            MessageBox("IDC_BUTTON1");
        }
        else 
        {
     MessageBox("3");
        }
    return CDialog::OnCommand(wParam, lParam);
    }
      

  2.   


    BOOL CAnzhuDlg::OnCommand(WPARAM wParam, LPARAM lParam) 
    {
    WORD  nCode = HIWORD(wParam);    
        WORD  nID = LOWORD(wParam);        
        if ((nID == IDC_BUTTON2 )&&(nCode == BN_CLICKED))
    {
            int i = MessageBox("IDC_BUTTON2","提示",MB_OKCANCEL);
    if (i == 2)
    {
    return 1;
    }
    }
        if ((nID == IDC_BUTTON1)&&(nCode == BN_CLICKED))
    {
            MessageBox("IDC_BUTTON1");
    }
    else 
    {
    MessageBox("3");
    }
    return CDialog::OnCommand(wParam, lParam);
    }