MFC MessageBox改变确定取消为OK CANCLE

MFC
1064
2023/8/28 15:00:32
栏目: 编程语言
开发者测试专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

您可以使用以下代码将MFC MessageBox的确定按钮和取消按钮更改为"OK"和"CANCEL":

// 更改 MessageBox 的按钮文本
AfxSetResourceHandle(AfxGetInstanceHandle());
UINT nOldStyle = MB_OKCANCEL;
UINT nNewStyle = MB_OKCANCEL;
// 获取当前语言环境的按钮文本
CString strOK, strCancel;
AfxExtractSubString(strOK, AfxGetAppName(), 0, '\n');
AfxExtractSubString(strCancel, AfxGetAppName(), 1, '\n');
// 更改按钮文本为 "OK" 和 "CANCEL"
AfxMessageBox("Your message", nNewStyle);
CWnd* pWnd = CWnd::FindWindow("#32770", NULL);
if (pWnd != NULL)
{
CWnd* pBtnOK = pWnd->GetDlgItem(IDOK);
if (pBtnOK != NULL)
pBtnOK->SetWindowText(strOK);
CWnd* pBtnCancel = pWnd->GetDlgItem(IDCANCEL);
if (pBtnCancel != NULL)
pBtnCancel->SetWindowText(strCancel);
}

请注意,为了实现这个效果,您需要在资源文件的字符串表中修改默认的确定按钮和取消按钮文本。您可以在资源文件中找到ID为IDOK和IDCANCEL的字符串,并将其改为"OK"和"CANCEL"。

此外,由于MFC MessageBox是一个模态对话框,上述代码中的AfxMessageBox函数将会显示消息框。您需要将"Your message"替换为您想要显示的实际消息内容。

辰迅云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

推荐阅读: MFC中IMPLEMENT_DYNAMIC宏问题怎么解决