我创建了一个CDialog主窗体,在上面有放了一个tab control,在把创建好的子窗体放在里面了,那么在主窗体中怎么处理子窗体的事件呢?(如:在子窗体中有个按扭,当点击的时候怎么在主窗体中同时做出处理的动作)请高手指点下,谢谢了!

解决方案 »

  1.   

    子对话框创建的时候,父窗口设置为主对话框,那么在子对话框里面
    GetParent()->SendMessage(...)
    给主对话框发送消息就可以了。
      

  2.   

    谢谢Mackz了,我试试了一下在子窗体中按下按扭的时候使用
    GetParent()->SendMessage(WM_COMMAND,0,0);然后在主窗体中使用
    BOOL CFormattoolsDlg::OnCommand(WPARAM wParam, LPARAM lParam) 
    {
    // TODO: Add your specialized code here and/or call the base class
    switch(HIWORD(wParam))
        {
        case BN_CLICKED:
           // TRACE("CLICKED!\n");
    MessageBox("CLICKED!",NULL,MB_OK);
            break;
        default:
            break;
        }

    return CDialog::OnCommand(wParam, lParam);
    }
    但是接受不到消息,这是为什么啊?
      

  3.   

    还有点就是如何确定是那个按扭呢?在OnCommand的两个参数中怎么能取到?谢谢