在设计时,在属性栏中有Caption属性,可以设置,但如何编写代码来设定呢?

解决方案 »

  1.   

    我用了SetWindowText()但是提示错误!我是这样用的:
    CMyDlg MyDlg;
    MyDlg.SetWindowText("My Dlg new title");
    MyDlg.DOModal();
      

  2.   

    CMyDlg  *myDlg;
    myDlg = new CMyDlg();
    if(myDlg != NULL)
    {
    if(!myDlg->Create(IDD_DIALOG_MyDlg,this))
    AfxMessageBox("Error creating Dialog");
             myDlg->SetWindowText("My Dlg new title");
    myDlg->ShowWindow(SW_SHOW);
    }
    else
    AfxMessageBox("Error Creating Dialog Object");
      

  3.   

    在CMyDlg的OnInitDialog中设置。模式窗口在DoModal()之前还没有创建,调用任何Window相关的命令都是无效的。如果需要定制,可以在CMyDlg中添加一个public CString变量(例如m_strTitle),在DoModal之前赋值,在OnInitDialog中将其设置为窗口标题:
    class CMyDlg : public CDialog....
    {
    ...
    public:
        CString m_strTitle;
    ...
    }BOOL CMyDlg::OnInitDialog()
    {
    ...
        If (!m_strTitle.IsEmpty())
            SetWindowText(m_strTitle);
    ....
    }
    CMyDlg MyDlg;
    MyDlg.m_strTitle = _T("My Dlg new title");
    If (MyDlg.DOModal() == IDOK)
       ...;
      

  4.   

    因为你的MyDlg的hwnd为Null:
    正解:
            CAboutDlg* pdlg=NULL;
    pdlg = new CAboutDlg;
    pdlg->Create(IDD_ABOUTBOX,this);
    pdlg->SetWindowText("my new title");
    pdlg->CenterWindow();
    pdlg->ShowWindow(SW_SHOW);
      

  5.   

    若是模态窗体,Mackz(在相互)的方法比较好