MFC(Microsoft Foundation Classes)中 MessageBox

在MFC(Microsoft Foundation Classes)中,MessageBox是一个常用的对话框类,用于显示消息框并与用户进行交互。MessageBox类提供了多种用法和选项,以下是一些常见的用法和示例说明:

  1. 显示简单的消息框:
cpp 复制代码
CString message = _T("Hello, World!");
MessageBox(message);

这将显示一个简单的消息框,其中包含文本"Hello, World!"。

  1. 显示带有标题的消息框:
cpp 复制代码
CString message = _T("Error occurred.");
CString title = _T("Error");
MessageBox(message, title);

这将显示一个带有标题"Error"的消息框,其中包含文本"Error occurred."。

  1. 显示带有按钮和图标的消息框:
cpp 复制代码
CString message = _T("Do you want to save changes?");
CString title = _T("Confirmation");
UINT style = MB_YESNOCANCEL | MB_ICONQUESTION;
int result = MessageBox(message, title, style);
if (result == IDYES) {
    // 用户选择了"是"按钮
    // 执行保存操作
} else if (result == IDNO) {
    // 用户选择了"否"按钮
    // 不保存,直接关闭
} else if (result == IDCANCEL) {
    // 用户选择了"取消"按钮
    // 取消关闭操作
}

这将显示一个带有"是"、"否"、"取消"按钮和问号图标的消息框,其中包含文本"Do you want to save changes?"和标题"Confirmation"。根据用户的选择,可以执行相应的操作。

  1. 显示带有默认按钮和焦点按钮的消息框:
cpp 复制代码
CString message = _T("Are you sure you want to delete?");
CString title = _T("Confirmation");
UINT style = MB_YESNO | MB_ICONWARNING | MB_DEFBUTTON2;
int result = MessageBox(message, title, style);
if (result == IDYES) {
    // 用户选择了"是"按钮
    // 执行删除操作
} else if (result == IDNO) {
    // 用户选择了"否"按钮
    // 取消删除操作
}

这将显示一个带有"是"、"否"按钮和警告图标的消息框,其中包含文本"Are you sure you want to delete?"和标题"Confirmation"。MB_DEFBUTTON2选项使"否"按钮成为默认按钮,并且具有焦点。

这些示例说明了MessageBox类的一些常见用法。MessageBox还提供其他选项,例如设置默认按钮、自定义按钮文本、设置超时等。根据具体的需求,您可以选择合适的选项来使用MessageBox类。

相关推荐
码客-ygluu1 小时前
一个通用游戏数据服务器
c++·架构
another heaven1 小时前
【C/C++ Ranges 是零开销抽象吗?拆开管道、惰性求值和编译期膨胀】
c语言·开发语言·c++
YLCHUP3 小时前
【思维&图论建模】题解:债权(debt)_图论_建模_思路转化_思维题目_C++算法竞赛
c++·笔记·算法·数学建模·贪心算法·深度优先·图论
xiaoye-duck4 小时前
《C++ 项目:手写大模型接入 SDK》会话模块整合:内存 SessionManager 与 DataManager 持久化联动
开发语言·数据库·c++·语言模型
思麟呀4 小时前
背包DP(01背包+完全背包)
c++·算法
旖旎夜光5 小时前
【C++ 基础入门】C++11 新特性(中):右值引用、移动语义与完美转发
开发语言·c++·笔记·学习
ShineWinsu6 小时前
对于Qt:QTabWidget常见属性的解析
开发语言·数据库·c++·qt·浏览器·qtabwidget·标签页
Splashtop高性能远程控制软件7 小时前
微软2026年11月补丁星期二解析:1094个 CVE、Outlook 零日 CVE-2026-124194 与修复优先级
microsoft·网络安全·outlook·补丁管理·漏洞管理
俊俊几年的7 小时前
动态规划(Dynamic Programming)详解:从入门到 LeetCode Hot 100
linux·c++·算法·leetcode·嵌入式·动态规划·c
老歌老听老掉牙1 天前
案例 7:二维 Rosenbrock 函数最小值(香蕉函数)
c++·pso