对话框有一个类,还有资源文件,我需要5个对话框,因为他们只有标题不一样,所以我想只写一个对话框,其他的用类似继承的方法获得,可以吗?请高手指教!谢谢!

解决方案 »

  1.   

    写一个成员函数根据初始的构造的名字设置标题
    例如:CMydialog dlg("12345");
      

  2.   


    在YourDlg中定义
    CString m_strName;构造函数中
    m_strName = "Name";
    BOOL CYourDlg::OnInitDialog()
    {
    CDialog::OnInitDialog();
    SetWindowText(m_strName);
    return TRUE;  // return TRUE unless you set the focus to a control
    // 异常:OCX 属性页应返回 FALSE
    }使用时CYourDlg dlg;
    dlg.m_strName = "NewName";if(dlg.DoModal() == IDOK)
    {
    //do sth.
    }
      

  3.   

    CMydialog dlg1("A");
    CMydialog dlg2("B");
    CMydialog dlg3("1C");dlg1->function();
    dlg2->function();
    dlg3->function();
      

  4.   

    加一成员变量m_strTitle;
    增加一个设置标题的构造函数,例如
    CMydialog::CMydialog(CString strTitle)
    : CDialog(CMydialog::IDD, pParent)
    {
    m_strTitle = strTitle;
    }
    在初始化中加入
    SetWindowText(m_strTitle);CMydialog dlg1("A");
      

  5.   

    如果对话框中的控件caption改变呢?如何处理?