messageboxshow 确定,取消

MFC MessageBox改变确定取消为OK CANCLE

MFC(Microsoft Foundation Class)是微软提供的一个用于简化Windows应用程序开发的C++类库,在MFC中,MessageBox是一个常用的对话框控件,用于显示消息框并与用户进行交互,默认情况下,MessageBox的确定和取消按钮分别显示为“OK”和“Cancel”,本文将介绍如何使用MFC更改MessageBox中的确定和取消按钮文本。

messageboxshow 确定,取消

创建自定义消息框

1、在MFC项目中,打开对话框资源编辑器(Dialog Editor)。

2、选择要修改的消息框,右键单击并选择“添加控件”->“静态文本”,然后将其拖放到对话框上。

3、重复步骤2,分别添加两个静态文本控件,并将其命名为“确认按钮”和“取消按钮”。

4、将这两个静态文本控件的ID属性设置为相应的常量值,例如IDOK和IDCANCEL。

5、选中“确定按钮”静态文本控件,然后在属性窗口中找到“编辑字符串”(Edit String)属性,双击该属性以打开编辑字符串对话框。

6、在编辑字符串对话框中,将“%s”替换为“OK”,然后单击“确定”按钮,同样地,将“%s”替换为“Cancel”。

messageboxshow 确定,取消

7、关闭所有对话框并编译运行项目,查看自定义消息框的效果。

重写MessageBox函数

1、在MFC项目中,打开需要修改MessageBox的地方(例如某个对话框类或视图类)。

2、添加以下头文件:

include <afxwinappex.h>

3、添加以下声明:

afx_msg LRESULT OnInitDialog();

4、重写OnInitDialog函数,在其中添加以下代码:

// 获取当前线程的消息映射表指针
UINT nID = (UINT)::GetWindowLong(m_hWnd, GWL_ID);
if (nID == IDD_MYDIALOG) // 假设自定义对话框的ID为IDD_MYDIALOG
{
    CRect rect;
    GetClientRect(&rect); // 获取客户区矩形
    int buttonWidth = rect.Width() / 3; // 将客户区宽度分为3等分,分配给按钮宽度
    ::SetWindowPos(m_hWnd, NULL, rect.left, rect.top, rect.Width(), rect.Height(), SWP_NOZORDER | SWP_NOACTIVATE); // 调整对话框位置和大小
}
return TRUE; // 返回TRUE表示成功处理对话框初始化事件

5、在OnInitDialog函数中,添加以下代码以创建自定义消息框:

messageboxshow 确定,取消

// 创建自定义消息框控件数组
CButton* pBtnOk = new CButton();
pBtnOk->Create(_T("OK"), WS_CHILD | WS_VISIBLE | BS_PUSHBUTTON, CRect(0, 0, buttonWidth * 0, buttonWidth), m_hWnd, 1); // OK按钮的位置和大小由buttonWidth控制
pBtnOk->SetWindowText(_T("OK")); // 设置OK按钮文本
pBtnOk->SetWindowLong(GWL_USERDATA, IDOK); // 将OK按钮的用户数据设置为IDOK常量值
m_btnOk = pBtnOk; // 将创建的按钮指针保存到成员变量中
CButton* pBtnCancel = new CButton();
pBtnCancel->Create(_T("Cancel"), WS_CHILD | WS_VISIBLE | BS_PUSHBUTTON, CRect(buttonWidth * 1, 0, buttonWidth * 2, buttonWidth), m_hWnd, 2); // Cancel按钮的位置和大小由buttonWidth控制
pBtnCancel->SetWindowText(_T("Cancel")); // 设置Cancel按钮文本
pBtnCancel->SetWindowLong(GWL_USERDATA, IDCANCEL); // 将Cancel按钮的用户数据设置为IDCANCEL常量值
m_btnCancel = pBtnCancel; // 将创建的按钮指针保存到成员变量中

6、在OnInitDialog函数中,添加以下代码以显示自定义消息框:

// 显示自定义消息框控件数组中的按钮
ShowWindow(m_btnOk->m_hWnd, SW_SHOW); // 显示OK按钮
ShowWindow(m_btnCancel->m_hWnd, SW_SHOW); // 显示Cancel按钮

处理按钮点击事件

1、在MFC项目的头文件中,添加以下声明:

afx_msg void OnBtnOkClicked(); // OK按钮点击事件处理函数声明
afx_msg void OnBtnCancelClicked(); // Cancel按钮点击事件处理函数声明

2、在对应的源文件中,实现上述声明:

void CMyDialog::OnBtnOkClicked() // OK按钮点击事件处理函数实现
{
    AfxMessageBox(_T("您点击了确定按钮。")); // 在消息框中显示提示信息
}
void CMyDialog::OnBtnCancelClicked() // Cancel按钮点击事件处理函数实现
{
    AfxMessageBox(_T("您点击了取消按钮。")); // 在消息框中显示提示信息
}

原创文章,作者:K-seo,如若转载,请注明出处:https://www.kdun.cn/ask/173396.html

Like (0)
Donate 微信扫一扫 微信扫一扫
K-seo的头像K-seoSEO优化员
Previous 2023-12-27 10:57
Next 2023-12-27 10:59

相关推荐

  • ip导入电脑

    IP防护导入详解IP防护是一种网络安全技术,用于防止未经授权的访问和数据泄露,它通过识别、过滤和监控网络流量,确保只有经过验证和授权的用户才能访问特定的网络资源,本文将详细介绍如何导入IP防护,包括其工作原理、导入步骤和注意事项。IP防护的工作原理IP防护系统主要通过以下几个步骤工作:1、身份验证: 当用户试图访问网络资源时,IP防护……

    2023-12-20
    0212
  • html中怎么放置按钮

    在HTML中放置按钮,可以使用&lt;button&gt;标签或者&lt;input&gt;标签结合CSS样式来实现,下面我们详细介绍这两种方法。使用&lt;button&gt;标签1、创建一个按钮在HTML中,可以使用&lt;button&gt;标签来创建一个按钮。&a……

    2024-01-20
    0109
  • Java服务器大全:了解Java服务器的类型和应用场景 (java的服务器有那些)

    Java服务器是运行Java语言编写的服务器端应用程序的计算机,它们通常用于处理来自客户端(如浏览器或其他应用程序)的请求,并返回相应的响应,Java服务器有很多种类型,每种类型都有其特定的应用场景,以下是一些常见的Java服务器类型:1、Web服务器Web服务器是处理HTTP请求并返回HTTP响应的服务器,Java中最常见的Web服……

    2024-03-04
    0147
  • 为什么微信没有横幅通知

    微信作为全球最大的即时通讯软件,其用户体验和功能设计一直备受用户好评,有用户发现,微信并没有像其他应用那样,采用横幅通知的方式来提醒用户新消息,为什么微信没有横幅通知呢?这背后又有哪些技术原因呢?本文将从以下几个方面进行详细解析。1、用户体验考虑从用户体验的角度来看,横幅通知并不是一种理想的通知方式,横幅通知会打断用户当前的操作,影响……

    2024-03-08
    0663
  • 展开按钮截图 展开按钮html

    各位朋友,大家好!小编整理了有关展开按钮html的解答,顺便拓展几个相关知识点,希望能解决你的问题,我们现在开始阅读吧!图片中点击右边按钮展开的效果Html如何实现有两种方法。①:将图片做为背景,放上按钮。.创建一个新的HTML文件百,该文件被称为测试。标题是“CSS实现的鼠标在导航栏上显示的超链接的下划线效果”。2.在页面上写nav标签,放入三个超链接(首页,第一栏,第二栏),代码如下。3.运行代码,效果如下。

    2023-12-15
    0116
  • 包含怎么取消儿童模式设置,怎么取消掉或者调整儿童模式谢谢的词条

    要解除华为平板的儿童模式,需要输入正确的密码或验证信息,然后在设置菜单中取消儿童模式的选项, 华为平板的儿童模式是一种特殊的功能,可以限制儿童使用设备的时间、访问的应用程序和网站等内容,以保护他们的安全和健康,要退出儿童模式,您可以滑动屏幕上的“退出”按钮,并输入设置的密码,然后您就可以回到普通模式了,注意,退出儿童模式后,您可以随时重新启动学习模式,点击手机设置,找到健康使用手机,关闭该功能

    2023-12-11
    0921

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

免备案 高防CDN 无视CC/DDOS攻击 限时秒杀,10元即可体验  (专业解决各类攻击)>>点击进入