设置MFC对话框表单标题

时间:2014-04-04 08:21:40

标签: visual-c++ mfc

我需要设置对话框表单标题。我试图创建CString变量,可以使用类向导绑定到标题。但是选择菜单中没有主要的表单控件。这样做的方法是什么?

这是我的对话框:

#include "stdafx.h"
#include "MyDlg.h"
#include "afxdialogex.h"


// MyDlg dialog

IMPLEMENT_DYNAMIC(MyDlg, CDialog)

MyDlg::MyDlg(CWnd* pParent /*=NULL*/)
    : CDialog(MyDlg::IDD, pParent)
    , m_edit(_T(""))
{

}

MyDlg::~MyDlg()
{
}

void MyDlg::DoDataExchange(CDataExchange* pDX)
{
    CDialog::DoDataExchange(pDX);
    DDX_Text(pDX, IDC_EDIT1, m_edit);
}


BEGIN_MESSAGE_MAP(MyDlg, CDialog)
    ON_BN_CLICKED(IDOK, &MyDlg::OnBnClickedOk)
END_MESSAGE_MAP()


// MyDlg message handlers


void MyDlg::OnBnClickedOk()
{

    // TODO: Add your control notification handler code here
    CDialog::OnOK();
    txt=m_edit;
}

这是创建对话框的代码:

BOOL CPreparationApp::InitInstance()
{

    MyDlg Dlg;
//how to tell Dlg to have form caption "BLABLABLA"?
    Dlg.DoModal();


        return TRUE;
}

2 个答案:

答案 0 :(得分:1)

希望我能以正确的方式理解你的问题:

// MyDlg.h
class MyDlg
{
 public:    // private is fine too if you're OOP nazi but you have to provide a SetDlgCaption method then.
    CString m_strDlgCaption;
};

// MyDlg.cpp
BOOL MyDlg::OnInitDialog( )
{
    SetWindowText( m_strDlgCaption );
}


BOOL CPreparationApp::InitInstance()
{

    MyDlg Dlg;

    Dlg.m_strDlgCaption = _T("A fancy caption for your dialog");
    Dlg.DoModal();
}

答案 1 :(得分:0)

如果您还没有这样做,首先需要在OnInitDialog的对话框类中添加覆盖。这是在对话框及其控制窗口存在后可以执行代码的第一个位置。您可以将SetWindowText(_T(“BLABLABLA”))放在OnInitDialog中以设置对话框标题。