我做了个对话框,上面有个编辑框,资源号为:IDC_EDIT 对话框类为CTransmitDlg,我想获得编辑框中的输入的值,我是这样做的,怎么不行?
我做了一个菜单,单击它会弹出此对话框,其响应函数如下:(在MainFrm.cpp文件中)
CTransmitDlg* pTransmitdlg = new  CTransmitDlg;//生成此对话框
if(pTransmitdlg->DoModal() == IDOK) //显示
{
        char buf[100];  //我想把编辑框中的输入保存到buf中
        memset(buf, 0, sizeof(buf));
        pTransmitdlg->GetDlgItemText(IDC_EDIT , (LPTSTR)buf, sizeof(buf)); //我觉得是用这个函数的吧,怎么好象不行呀,系统提示此函数出了问题        CString str;
        str.Format("输出缓冲区中的数据为:%s.",buf);
        AfxMessageBox(str);}
delete pTransmitdlg;    还请高手指点阿,多谢!!!

解决方案 »

  1.   

    不要搞得那么复杂,在ClassWizard中为IDC_EDIT生成一个CString变量,m_DlgStr。
    在你DoModel()后定义一个CString变量,m_str。在对话框的OnOK()函数中加一句
    UpdateData(FALSE);然后在DoModel()之后,m_str = dlg.m_DlgStr,就可以了。
      

  2.   

    http://www.vckbase.com/code/findcode.asp
      

  3.   

    不好意思,应该是UpdateData(TRUE);才对。