gpt4 book ai didi

c++ - 更改 DDX_Text() 的 MessageBox 的标题

转载 作者:行者123 更新时间:2023-11-28 06:34:19 26 4
gpt4 key购买 nike

验证时显示的消息框与项目标题相同。我在 MSDN 和谷歌中搜索了更改 DDX_Text() 消息框的标题。

下面是代码片段形式

void CPower_Module::DoDataExchange(CDataExchange* pDX)
{
CDialogEx::DoDataExchange(pDX);

DDX_Text(pDX, IDC_POWER_TXT_IGNITION_OFF_DELAY, delayOffWhenIgnitionIsOff);
}

当用户试图删除文本框中的数据时,他将看到一个消息框为

enter image description here

以应用名称为标题。如何在保持功能不变的情况下更改消息框的标题?

最佳答案

在内部调用 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 自动化也将返回更改后的应用程序标题。

关于c++ - 更改 DDX_Text() 的 MessageBox 的标题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26993228/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com