MessageBox函数介绍

MessageBox函数用于显示带有按钮和图标的消息对话框,常用于用户交互。它接受HWND、LPCTSTR类型的文本和标题,以及定义对话框样式和行为的uType参数。返回值指示用户点击的按钮,如IDOK、IDCANCEL等。uType可以设置不同类型的按钮组合(如MB_OK、MB_YESNO)和图标(如MB_ICONWARNING)。在MFC中,MessageBox被进一步封装,提供了更简单的使用方式。

开发板推荐:天空星STM32F407VET6开发板

超高性价比 STM32主控 | 超高主频 | 一板兼容百芯 | 比赛神器 | 沉金彩色丝印

目录

1. 头文件

2. 函数原型及参数

3. 函数作用及返回值说明

4. MFC 特例

附录一 uType参数类型


1. 头文件

#include <Windows.h>

2. 函数原型及参数

int MessageBox(HWND hWnd, LPCTSTR lpText, LPCTSTR lpCaption, UINT uType);

@hWnd:代表消息框拥有的窗口,如果为NULL,表示消息框没有拥有窗口。

@lpText:消息框中的内容。

@lpCaption:消息框的标题。

@uType:指定消息框的内容和行为的位标志集,指定消息框中的按钮以及图标。


3. 函数作用及返回值说明

MessageBox显示消息对话框,该消息对话框包括一个系统图标、一组按钮和一个简短的消息。返回值是一个整数,指示用户单击了哪个按钮。

函数返回值
返回ID选择的按钮
IDOK = 1OK
IDCANCLE = 2CANCLE
IDABORT = 3ABORT
IDRETRY = 4RETRY
IDIGNORE = 5IGNORE
IDYES = 6YES
IDNO = 7NO

4. MFC 特例

如果创建的是MFC工程,工程文档中有MainFrm.cpp,那么MessageBox()会被封装为

int MessageBox(LPCTSTR lpszText, LPCTSTR lpszCaption = NULL, UINT nType = MB_OK);

附录一 uType参数类型

按钮参数

MB_OK

默认值,显示一个【确认】按钮

MB_YESNO

显示【是】和【否】按钮

MB_ABORTRETRYIGNORE

显示【Abort】、【Retry】、【Ignore】按钮

MB_YESNOCANCLE

显示三个按钮:【YES】、【NO】、【Cancle

MB_RETRYCANCLE

显示【Retry】、【Cancle】按钮

MB_OKCANCLE

显示【OK】、【Cancle】按钮

图标参数

MB_ICONEXCLAMATION

MB_ICONWARNING

MB_ICONINFORMATION

MB_ICONASTERISK

MB_ICONQUESTION

MB_ICONSTOP

MB_ICONERROR

MB_ICONHAND

运行模式

MB_APPLMODAL

普通模式,有或无没有差别;

hwnd参数标识的窗口中继续工作以前,用户一定响应消息框。但是,用户可以移动到其他线程的窗口且在这些窗口中工作。根据应用程序中窗口的层次机构,用户则以移动到线程内的其他窗口。所有母消息框的子窗口自动地失效,但是弹出窗口不是这样。

如果即没有指定MB_SYSTEMMODAL也没有指定MB_TASKMODAL,则MB_APPLMODAL为缺省的。

MB_SYSTEMMODAL

系统模式,如果不结束消息框,会一致显示在其它窗口上层;

除了消息框有WB_EX_TOPMOST类型,MB_APPLMODALMB_SYSTEMMODAL一样,用系统模态消息框来改变各种各样的用户,主要的损坏错误需要立即注意(例如内存泄漏)。如果不是那些与hwnd联系的窗口,此标志对用户对窗口的相互联系没有影响。

MB_TASKMODAL

如果参数hwndNULL,那么除了所有属于当前线程高层次的窗口失效外,MB_TASKMODALMB_APPLMODAL一样。当调用应用程序或库没有一个可以得到的窗口句柄时,使用此标志,但仍需要阻止输入到调用线程的其他窗口,而不是搁置其他线程。

其他

MB_DEFAULT_DESKTOP_ONLY

接收输入的当前桌面一定是一个缺省桌面。否则,函数调用失败。缺省桌面是一个在用户已经记录且以后应用程序在此上面运行的桌面。

MB_HELP

把一个Help按钮增加到消息框。选中Help按钮或按F1产生一个Help事件。

MB_RIGHT

文本为右对齐

MB_RTLREADING

用在HebrewArabic系统中从右到左的顺序显示消息和大写文本

MB_SETFOREGROUND

消息框变为前景窗口,在内部系统为消息调用SetForedroundWindow函数

MB_TOPMOST

消息框用WS_EX_TOPPOST窗口类型来创建MB_SERVICE_NOTIFICATION

参考:

1. c++中的消息框messagebox()详细介绍及使用方法_夜、醉梦红尘-CSDN博客_c++ messagebox的用法

2. C++ MessageBox 的用法_Linux 开发者 的博客-CSDN博客_c++ messagebox的用法

开发板推荐:天空星STM32F407VET6开发板

超高性价比 STM32主控 | 超高主频 | 一板兼容百芯 | 比赛神器 | 沉金彩色丝印

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值