vc的对话框中弹出另一个非模式对话框。为什么新增的对话框的按钮事件不被执行呢?请高手帮忙

解决方案 »

  1.   

    不是吧,CXXDialog aa;
    if(aa.DoModal()==IDOK)
    这样的话不就可以判断了吗?
      

  2.   

    CDialog *pDlg;// 全局变量
    在主对话框的ok按钮中显示一个非模态对话框
    pDlg = new CDialog();
    pDlg->Create(IDD_DLG);
    pDlg->ShowWindow(SW_SHOW);
    IDD_DLG的按钮事件是在资源编辑器中双击产生的,就是ok和cancel按钮
    头文件
    // Generated message map functions
    //{{AFX_MSG(CDlg)
    virtual void OnOK();
    virtual void OnCancel();
    //}}AFX_MSG
    cpp文件
    BEGIN_MESSAGE_MAP(CDlg, CDialog)
    //{{AFX_MSG_MAP(CDlg)
    ON_BN_CLICKED(IDOK, OnOK)
    ON_BN_CLICKED(IDCANCEL, OnCancel)
    //}}AFX_MSG_MAP
    END_MESSAGE_MAP()void CDlg::OnOK() 
    {
    // TODO: Add extra validation here
    MessageBox("OnOK");
    //CDialog::OnOK();
    }void CDlg::OnCancel() 
    {
    // TODO: Add extra cleanup here
    MessageBox("OnCancel");
    //CDialog::OnCancel();
    } DECLARE_MESSAGE_MAP()怎么弹出对话框后按ok和cancel都没有反应啊?
    请高手帮忙!
      

  3.   

    CDialog *pDlg;// pDlg和CDlg没有关联上
      

  4.   

    ouyh12345(五岭散人) ( ) 信誉:100    Blog   加为好友 
    请问怎么关联啊?
      

  5.   

    pDlg = new CDialog();
    void CDlg::OnOK() 
    从类名上看,你显示的非模态对话框的类名是CDialog,这是对话框类的基类,你的函数中写的是CDlg,当然没反应,
    应该写成:pDlg=new CDlg();
      

  6.   

    ouyh12345(五岭散人) ( ) 信誉:100    Blog   加为好友 
    wltg2001(红猪) ( ) 信誉:100    Blog   加为好友 
    确实是错在这里。谢谢了!还想问下,为什么新产生的对话框总是遮住了显示他的那个对话框啊?我要让他不遮住,怎么解决啊?下午结贴,高手帮忙。