我需要设置对话框表单标题。我试图创建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;
}
答案 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中以设置对话框标题。