MFC:AfxMessageBox函数随记

article/2025/10/31 12:07:34

函数原型

函数原型1

int AfxMessageBox(
LPCTSTR lpszText,
UINT nType = MB_OK,
UINT nIDHelp = 0
);

lpszText:弹窗内容
nType :弹窗类型和按钮类型进行或,比如询问框等

函数原型2

int AFXAPI AfxMessageBox(
UINT nIDPrompt,
UINT nType = MB_OK,
UINT nIDHelp = (UINT)1
);

nIDPrompt:为文本字符串ID

函数说明

1.AfxMessageBo是一个全局函数,不需要对应着一个窗口类,不能控制消息框标题,常用于调试程序时的内部数据输出或警告;
2.MessageBox比较正式,常用在要提交的应用程序版本中,可以控制标题内容而不必采用含义不明的可执行文件名为标题

弹窗按钮类型

MB_ABORTRETRYIGNORE :Abort、Retry、Ignore按钮
MB_OK :OK按钮
MB_OKCANCEL :OK、Cancel按钮
MB_RETRYCANCEL :Retry、Cancel按钮
MB_YESNO :Yes、No按钮
MB_YESNOCANCEL :Yes、No、Cancel按钮

图标风格

MB_ICONINFORMATION :i图标,表示提示
MB_ICONEXCLAMATION :惊叹号图标,表示警告
MB_ICONSTOP :手形图标,表示警告或严重错误
MB_ICONQUESTION :问号图标,表示疑问

返回值

IDABORT、IDCANCEL、IDIGNORE、IDNO、IDOK 、IDRETRY、IDYES

返回值说明

Zero if there is not enough memory to display the message box; otherwise one of the following values is returned:
IDABORT The Abort button was selected.
IDCANCEL The Cancel button was selected.
IDIGNORE The Ignore button was selected.
IDNO The No button was selected.
IDOK The OK button was selected.
IDRETRY The Retry button was selected.
IDYES The Yes button was selected.
If a message box has a Cancel button, the IDCANCEL value will be returned if either the ESC key is pressed or the Cancel button is selected. If the message box has no Cancel button, pressing the ESC key has no effect

函数原型1例子

int AfxMessageBox(
LPCTSTR lpszText,
UINT nType = MB_OK,
UINT nIDHelp = 0
);

例子1

AfxMessageBox(_T("加载失败"),MB_OK |MB_ICONEXCLAMATION );

在这里插入图片描述

例子2

    int nRet =  AfxMessageBox(_T("加载失败"),MB_YESNO|MB_ICONQUESTION);if(IDYES  == nRet){AfxMessageBox(_T("是"),MB_ICONINFORMATION );}else{AfxMessageBox(_T("否"),MB_ICONINFORMATION );}

在这里插入图片描述

例子3

	int nRet =  AfxMessageBox(_T("加载失败"),MB_ABORTRETRYIGNORE );if(IDABORT  == nRet ){AfxMessageBox(_T("中止"),MB_ICONINFORMATION );}else if(IDRETRY == nRet){AfxMessageBox(_T("重试"),MB_ICONINFORMATION );}else if(IDIGNORE == nRet){AfxMessageBox(_T("忽略"),MB_ICONINFORMATION );}

在这里插入图片描述

例子4

    int nRet =  AfxMessageBox(_T("加载失败"),MB_OKCANCEL|MB_ICONQUESTION  );if(IDOK   == nRet ){AfxMessageBox(_T("确定"),MB_ICONINFORMATION );}else if(IDCANCEL  == nRet){AfxMessageBox(_T("取消"),MB_ICONINFORMATION );}

在这里插入图片描述

例子5

	int nRet =  AfxMessageBox(_T("加载失败"),MB_RETRYCANCEL |MB_ICONQUESTION  );if(IDRETRY    == nRet ){AfxMessageBox(_T("重试"),MB_ICONINFORMATION );}else if(IDCANCEL  == nRet){AfxMessageBox(_T("取消"),MB_ICONINFORMATION );}

在这里插入图片描述

例子6

    int nRet =  AfxMessageBox(_T("加载失败"),MB_YESNOCANCEL  |MB_ICONQUESTION   );if(IDYES    == nRet ){AfxMessageBox(_T("是"),MB_ICONINFORMATION );}if(IDNO     == nRet ){AfxMessageBox(_T("否"),MB_ICONINFORMATION );}else if(IDCANCEL  == nRet){AfxMessageBox(_T("取消"),MB_ICONINFORMATION );}

在这里插入图片描述

函数原型2例子

int AFXAPI AfxMessageBox(
UINT nIDPrompt,
UINT nType = MB_OK,
UINT nIDHelp = (UINT)1
);

这个函数里面的nIDPrompt可用string table里面的ID
在这里插入图片描述

 AfxMessageBox(IDS_STRING102,MB_OK |MB_ICONEXCLAMATION );

在这里插入图片描述


http://chatgpt.dhexx.cn/article/ZQHpPP4S.shtml

相关文章

MFC之MessageBox、AfxMessageBox用法

在软件中我们经常会弹出个小窗口,给一点点提示.这就会用到消息对话框.在Win32 API程序中只有MessageBox这一种用法. 而在MFC中就有三各方法: 1.调用API中的MessageBox; 2.调用CWnd的成员函数MessageBox; 3.调用全局函数AfxMessageBox; M…

字符串数组的引用(C语言实现)

一、字符串数组的定义 1.字符串的定义:是由若干有效字符构成且以字符"\0"作为结束标志的一个字符序列. 2.字符串的实现: 因为C语言中只提供字符数据类型,没有提供字符串数据类型,所有C语言中的 字符串是通过字符数组来…

Java输出字符串数组

直接toString会输出一串地址, 建议使用Arrays.toString( ),将数组转化为一个字符串输出; 如果要一个一个输出还是遍历 public static void main(String[] args) {String exp"12,23,34";String res[]exp.split(",");System.out.println(Arrays.…

c+字符串数组_了解C ++字符串数组

c+字符串数组 Hey, Folks! So, as programmers, we often deal with Arrays of all data types. We’ll cover C++ string array in today’s article. 嘿伙计! 因此,作为程序员,我们经常处理所有数据类型的数组。 我们将在今天的文章中介绍C ++字符串数组 。 声明C ++字符…

C++字符串数组

(转载文章) C提供了一种新的数据类型——字符串类型(string类型),在使用方法上,它和char、int类型一样,可以用来定义变量,这就是字符串变量——用一个名字代表一个字符序列。 实际上,string并不是C语言本身具有的基本类型,它是在C标…

【C语言】动态分配二维字符串数组

动态分配一个二维字符串数组 (1) 分配可能不连续的内存 申请 char**pps8Output (char **) malloc(n * sizeof(char *)); 对于pps8Output而言,它获得了一块动态分配的连续内存,这块连续的内存可以放n个char *指针。 下面为每一…

字符串数组的三种形式

一、字符串数组 1.0 字符串数组的两种形式 第一种形式:二维字符数组 char arry[7][10] {"Monday","Tuesday","Wednsday","Thurday","Friday","Saturday","Sunday"};在栈上分配了70字节内…

干货丨什么是字符串数组

一、概念理解 1.C语言中没有字符串类型,用一片内存空间保存一串字符,这片空间称作字符数组。 2.以‘\0’结尾的字符数组被称为字符串数组。‘\0’是字符串结束的标志。 3.用双引号括起来的都是字符串。 二、初始化 char str[6] {h,e,l,l,o,\0};//字…

c语言之字符串数组

还是在写图的存储结构的时候,遇到了问题,就是如何在一个数组中存放字符串,我相信这个问题 对于面向对象的编程语言来说,轻而易举,比如对于Java来说,直接像下面就可以了: 但是c语言没有String这个类型&…

Android 自定义弹窗提示(AlertDialog)

Android 自定义弹窗提示 Java文件: private void showDialog() {AlertDialog.Builder builder new AlertDialog.Builder(this);//获取界面View view LayoutInflater.from(this).inflate(R.layout.alert_dialog, null);//将界面填充到AlertDiaLog容器并去除边框bui…

AlertDialog对话框详例

Android—3分钟你也能学会AlertDialog对话框 在Android开发中,少不了AlertDialog对话框的使用,也是至关重要的一个功能。AlertDialog的构造方法被声明为protected,所以我们不能使用new来创建AlertDialog对象。 目录 Android—3分钟你也能学…

Android - AlertDialog 对话框

Android - AlertDialog 对话框 使用步骤&#xff1a; ①创建一个AlertDialog.Builder对象②设置标题 内容 正面负面按键 编写点击事件③调用.show() 显示AlertDialog XML部分&#xff1a; <?xml version"1.0" encoding"utf-8"?> <LinearLay…

AlertDialog替代ProgressDialog方案

在Android API level 26及以后版本中&#xff0c;ProgressDialog被弃用&#xff0c;使用以下方法可以替代ProgressDialog。 首先&#xff0c;使用AlertDialog新建一个对象作为容器&#xff0c;在这里我们首先设置对话标题&#xff0c;然后取消然后关闭返回键退出对话框&#x…

改变AlertDialog默认背景

安卓4.0自带的AlertDialog太丑了有木有&#xff1f;黑色的背景很难看&#xff0c;今天实现的是怎么自定义style实现改变AlertDialog背景 首先在values/styles.xml文件中增加如下style <style name"AlertDialog" parent"android:Theme.DeviceDefault.Light.…

Android App开发超实用实例 | AlertDialog对话框

介绍AlertDialog对话框从简到繁的多种设计方案,从新角度理解UI交互设计。 AlertDialog对话框允许自定义弹出对话框的内容,实现比之前讲解的几种对话框更丰富的功能。 01、带默认按钮的AlertDialog 程序单击按钮后执行第17行代码,调用自定义方法showAlertDialog()。 第22~6…

Android中AlertDialog的使用

Android中AlertDialog的使用 简述默认样式单选弹出框多选弹出框列表对话框自定义弹出框完整代码 简述 AlertDialog可以在当前的界面上显示一个对话框&#xff0c;这个对话框是置顶于所有界面元素之上的&#xff0c;能够屏蔽掉其他控件的交互能力&#xff0c;因此AlertDialog一般…

android-如何关闭AlertDialog.Builder对话框

android-如何关闭AlertDialog.Builder对话框 前言 在实际写代码的时候&#xff0c;AlertDialog.Builder的使用算是比较频繁的&#xff0c;在对AlertDialog.Builder关闭的时候&#xff0c;我们会发现&#xff0c;AlertDialog.Builder对话框没有相对应的finish()或者dismiss()这…

Android 自定义AlertDialog

Android 自定义popuWindow 对于项目需求中&#xff0c;系统的弹出框不能满足我们的需求&#xff0c;就只能通过自定义布局来实现自己相对应的功能&#xff0c;这里总结一篇关于AlertDialog的 具体操作 这里把弹出框封装了一个方法&#xff0c;使用的时候&#xff0c;只需要在…

Android进阶之AlertDialog自定义

AlertDialog的自定义方式有很多种&#xff0c;这里介绍两种。 第一种是比较简单的&#xff0c;只自定义内容。 在AlertDialog使用详解中&#xff0c;非常详细的介绍了以下六种使用方法。 一、简单的AlertDialog&#xff08;只显示一段简单的信息&#xff0c;比如about us&…

Android入门第九篇之AlertDialog

本文来自http://blog.csdn.net/hellogv/ &#xff0c;引用必须注明出处&#xff01; 时隔一年&#xff0c;又要准备做Android的开发了&#xff0c;最近复习和整理一下Android的知识。这次要说的是AlertDialog&#xff0c;这种对话框会经常遇到。AlertDialog跟WIN32开发中的Dial…