CString CInputDlg::GetInput(CString Title,CString Prompt)
{
CString str(" ");
m_strTitle=Title;
m_strPrompt=Prompt;
if(DoModal()==IDOK)
str=m_strInput;
return str;
}

解决方案 »

  1.   

    DoModal不是这样调用的吧,
    要在其它函数中声明一个CInputDlg实例,例:
    Void YourFunc()
    {
        CString sInput;
        CInputDlg dlg;
        if( dlg.DoModal() == IDOK )
        {
            sInput = dlg.m_strInput;
        }
        else
        {
        }
    }
      

  2.   

    1. 首先,你能否说说你这个CInputDlg是怎样建立的,是否指定了对话框资源2. 一般对话框的DoModal()是在外部调用的,如 CInputDlg dlg;
     dlg.m_strTitle = "ddd";
     if(dlg.DoModal()==IDOK) {  .... }
      

  3.   

    我用CInputDlg dlg;
        if( dlg.DoModal() == IDOK )不是调不出来对话框.
    我的做法是:先建了一个MFC DLL工程,在里面加了一个inputdlg对话框.
      

  4.   

    一般要先针对你的对话框资源新建一个类,然后在别的类中(一般是视图类或文档类中)申明一个对话框的对象,然后通过下面的方式调用。
    void CMyView::xxx()
    {
    ....
    CInputDlg dlg;
    if(dlg.DoModal()==IDOK){
    ...
    }
    }
      

  5.   

    to:iwwfu
    我是象你说的那样做的.