验证的标题与项目标题相同时显示的消息框。 我搜索了MSDN并在谷歌中更改了DDX_Text()的消息框标题。
以下是代码段表单
void CPower_Module::DoDataExchange(CDataExchange* pDX)
{
CDialogEx::DoDataExchange(pDX);
DDX_Text(pDX, IDC_POWER_TXT_IGNITION_OFF_DELAY, delayOffWhenIgnitionIsOff);
}
当用户尝试删除文本框中的数据时,他将显示一个消息Box
以应用程序名称作为标题。 如何更改消息框的标题以保持功能相同?
答案 0 :(得分:2)
调用内部AfxMessageBox。此函数始终使用应用程序标题作为消息框的标题。该值存储在CWinApp :: m_pszAppname中。这只是一个LPCTSTR。
只需创建一个这样的类。
class CChangeAppTitle
{
public:
CChangeAppTitle(LPCTSTR pszNewTitle)
: m_strTitle(pszNewTitle)
, m_pszOldTitle(AfxGetApp()->m_pszAppTitle)
{
AfxGetApp()->m_pszAppTitle = m_strTitle;
}
~CChangeAppTitle()
{
AfxGetApp()->m_pszAppTitle = m_pszOldTitle;
}
private:
CString m_strTitle;
LPCTSTR m_pszOldTitle;
};
在DoDataExchange中或在调用UpdateData之前,只需激活类:
{
CChangeAppTitle appTitle(_T("my app title");
UpdateData();
...
请注意,在此对话框打开时,计时器启动的所有消息框都将显示新的应用程序标题。此类激活期间激活的COM自动化也将返回已更改的应用程序标题。
答案 1 :(得分:-1)
只需在MessageBox参数中设置标题。
CString v1_sMessageToDisplay;
v1_sMessageToDisplay.Format(_T("Saved Successfully to C:/IniGui/"));
MessageBox(v1_sMessageToDisplay, _T("Your Caption"), MB_ICONINFORMATION);