通过对VC++框架结构中函数的调用顺序的分析,发现在dlg.DoModal执行的开始时,程序会自动调用对话框的一系列初始化函数,其中包括对对话框成员函数OnInitDialog的调用,这里才能改变对话框标题。为此,首先为对话框引进一个类型为CString的公有成员变量m_strCaption,并将上述程序段改为:
CTestDialog dlg;
dlg.m_strCaption = “标题-1";
dlg.DoModal();
然后重载对话框的虚成员函数OnInitDialog如下:
BOOL CTestDialog::OnInitDialog()
{
CDialog::OnInitDialog();
SetWindowText(m_strCaption);
…
return TRUE;
}
通过这种办法,每次在打开对话框之前,只要将对话框公有成员变量m_strCaption设置为一个不同的值,就可使得对话框有不同的标题。
刚看了下,没有直接修改的设置项。对话框属于窗口类,通过代码修改。
参照窗口的注册创建,里面有设置标题大小的