程序里面怎样产生对话框“确定”按钮被单击的效果,把对话框关闭
发送一个消息给对话框可以吗?

解决方案 »

  1.   

    想要结束对话框,可以使用OnOK或者OnCancel。
      

  2.   

    如果对话框在DoModel中,则要在DoModel前新建一条线程来负责发送关闭对话框的消息
      

  3.   

    1.直接调用OnOK()
    2.发送消息WM_COMMAND(IDOK作WPARAM参数,对话框的HWND作LPARAM)
    3.焦点移到OK键上,再发送回车消息.
      

  4.   

    EndDialog(IDOK)应该也可以的,你可以试试;
      

  5.   

    刚才说得不太清楚,
    我是要关闭别的程序的对话框,使他产生单击“确定”按钮的效果
    不是自己的程序,所以不能调用onok
      

  6.   

    我现在对那个对话框的cwnd指针用
    m_pFuncWnd->SendMessage(WM_COMMAND,IDOK);
    结果在关闭以后会出现内存错误
      

  7.   

    m_pFuncWnd->SendMessage(WM_CLOSE);
    ((CDialog *)m_pFuncWnd)->EndDialog(IDOK);
    都是直接关闭,不是onok的效果m_pFuncWnd是别的程序的一个对话框
      

  8.   

    对话框不会接受WM_CLOSE的
    用EndDialog才行,或者这样
    SendMessage(WM_SYSCOMMAND,SC_CLOSE,0) // 一样的,最后还是OnOK调用EndDialog
      

  9.   

    用m_pFuncWnd->SendMessage(WM_CLOSE);是可以关闭对话框的
      

  10.   

    我用m_pFuncWnd->SendMessage(WM_COMMAND,IDOK);了