验证时显示的消息框,其标题与项目的标题相同。我在MSDN和谷歌中搜索更改了DDX_Text()消息框的标题。
下面是代码片段表单
void CPower_Module::DoDataExchange(CDataExchange* pDX)
{
CDialogEx::DoDataExchange(pDX);
DDX_Text(pDX, IDC_POWER_TXT_IGNITION_OFF_DELAY, delayOffWhenIgnitionIsOff);
}当用户尝试删除文本框中的数据时,他将被显示为

以应用程序名称作为标题。如何更改消息框的标题以保持功能不变?
发布于 2014-11-18 12:12:59
在内部调用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自动化也将返回更改的应用程序标题。
发布于 2019-02-04 06:22:23
只需在MessageBox参数中设置标题即可。
CString v1_sMessageToDisplay;
v1_sMessageToDisplay.Format(_T("Saved Successfully to C:/IniGui/"));
MessageBox(v1_sMessageToDisplay, _T("Your Caption"), MB_ICONINFORMATION);https://stackoverflow.com/questions/26993228
复制相似问题