我弄了个弹出对话框,myDlg dlg;
dlg.GetDlgItem(IDC_HDD)->SetWindowText("sajf");
dlg.DoModal();  编译通过了,但是我单击按键时出现了错误。不能访问,请各位不吝赐教。

解决方案 »

  1.   

    你创建的是模态对话框,DoModal函数调用以前,你的对话类的m_hWnd还没有关联窗口,即m_hWnd为NULL,所以你前面与窗口相关的参数都是错误的,因为你的窗口还没有窗口,在DoModal函数调用以后,你的窗口就销毁了,即m_hWnd成员又变成NULL了,所以DoModal函数调用之前和之后你操作窗口都是错误,你可以在你的窗口类myDlg类的OnInitDialog函数中去GetDlgItem(IDC_HDD)->SetWindowText(_T("sajf"));
      

  2.   

    dlg.GetDlgItem(IDC_HDD)->SetWindowText("sajf");
    ============
    对话框还没出来呢,哪来的IDC_HDD啊
    在dlg这个类的OnInitDialog中处理吧
      

  3.   

    myDlg类初始化时加入SetWindowText("sajf");
    去掉dlg.GetDlgItem(IDC_HDD)->SetWindowText("sajf");
      

  4.   

    BOOL mydlg::OnInitDialog() 
    {
    CDialog::OnInitDialog();

    // TODO: Add extra initialization here
    GetDlgItem(IDC_HDD)->SetWindowText("sajf");

    return TRUE;  // return TRUE unless you set the focus to a control
                  // EXCEPTION: OCX Property Pages should return FALSE
    }
    加了,但弹出的窗口静态文本内容没有改变,怎么弄。
      

  5.   


    加一个
    UpdateData(FALE);
      

  6.   

    myDlg dlg;
    if(dlg.DoModal()); 
    {
    dlg.GetDlgItem(IDC_HDD)->SetWindowText("sajf");
    }
      

  7.   

    是让你在弹出来的对话框的 初始化里添加 setwindowtext。正确添加在这里的话,我不用试  肯定能显示出你要的sajf来,且不用 UpdateData(FALE);估计你错误在于加在了当前的对话框中。