CLoad::CLoad(CWnd* pParent /*=NULL*/)
: CDialog(CLoad::IDD, pParent)
{
//{{AFX_DATA_INIT(CLoad)
m_id = _T("Administrator");
//}}AFX_DATA_INIT
}void CLoad::OnOK() 
{
    UpdateData();
    CDialog::OnOK();
}CLoad m_LoadDlg;BOOL CLendBookDlg::OnInitDialog() 
{
CDialog::OnInitDialog();
MessageBox(m_LoadDlg.m_id); 
return TRUE;               
 }当我在m_id输入其它的,怎么还是弹出有Administrator字符的提示框。而不是我刚才修改了的。

解决方案 »

  1.   

    UpdateData(TRUE);
    UpdateData(FALSE);
    AfxMessageBox(m_id);
      

  2.   

    在Cload中,当修改m_id的后,
    void CLoad::OnOK() 
    {
        UpdateData();
        AfxMessageBox(m_id);
        CDialog::OnOK();
    }输出为修改后的值。但是
    CLoad m_LoadDlg;BOOL CLendBookDlg::OnInitDialog() 
    {
    CDialog::OnInitDialog();
    MessageBox(m_LoadDlg.m_id); 
    return TRUE;               
     }
    还是没有变化过来,还是为Administrator
      

  3.   

    void CLoad::OnOK() 
    {
        UpdateData(TRUE);
        UpdateData(FALSE);
        AfxMessageBox(m_id);
        CDialog::OnOK();
    }输出为修改后的值。但是BOOL CLendBookDlg::OnInitDialog() 
    {
    CDialog::OnInitDialog();
             CLoad m_LoadDlg;
             m_LoadDlg.DoModal(); MessageBox(m_LoadDlg.m_id); 
    return TRUE;               
     }
      

  4.   

    为什么这里有加上m_LoadDlg.DoModal();就可以,但是这中方法难以接受,有没有更好的方法。
      

  5.   

    其实它这里调用的是
    {
    //{{AFX_DATA_INIT(CLoad)
    m_id = _T("Administrator");
    //}}AFX_DATA_INIT
    }
    有没有更好的办法啊/急啊。