MessageBox函数的返回值

article/2025/9/16 13:54:58

MessageBox()函数的常用返回值

IDABORT:Abort 按钮被选中。

IDCANCEL:Cancel按钮被选中。

IDIGNORE:Ignore按钮被选中。

IDNO:NO按钮被选中。

IDOK:OK按钮被选中。

IDRETRY:RETRY按钮被选中。

 IDYES:YES按钮被选中。

附上原书MessageBox对第四个参数的扩展描述

MessageBox的第四个参数可以是在WINUSER.H中定义的一组以前缀MB_开始的常数的组合。您可从第一组中选择一个常数指出希望在对话框中显示的按钮:

#define    MB_OK                                    0x00000000L

#define    MB_OKCANCEL                                 0x00000001L

#define    MB_ABORTRETRYIGNORE                       0x00000002L

#define    MB_YESNOCANCEL                           0x00000003L

#define    MB_YESNO                                   0x00000004L

#define    MB_RETRYCANCEL                            0x00000005L

如果在HELLOMSG中将第四个参数设置为0,则仅显示「OK」按钮。可以使用C语言的OR(|)操作符号将上面显示的一个常数与代表内定按钮的常数组合:

#define    MB_DEFBUTTON1                               0x00000000L

#define    MB_DEFBUTTON2                               0x00000100L

#define    MB_DEFBUTTON3                               0x00000200L

#define    MB_DEFBUTTON4                               0x00000300L

还可以使用一个常数指出消息框中图示的外观:

#define    MB_ICONHAND                                     0x00000010L

#define    MB_ICONQUESTION                           0x00000020L

#define    MB_ICONEXCLAMATION              0x00000030L

#define    MB_ICONASTERISK                    0x00000040L

这些图示中的某些有替代名称:

#define    MB_ICONWARNING          MB_ICONEXCLAMATION

#define    MB_ICONERROR            MB_ICONHAND

#define    MB_ICONINFORMATION    MB_ICONASTERISK

#define    MB_ICONSTOP                          MB_ICONHAND

虽然只有少数其它MB_常数,但您可以自己参考表头文件或 / Platform SDK / User Interface Services / Windowing / DialogBoxes/ Dialog Box Reference / Dialog Box Functions里的文件。

    

学写windows程序。之前老师就推荐过《windows程序设计》,自己也从图书馆借来读过,总感觉看不懂。经过一年多的积累,重读这本书,纪录下历程作为积累。

    我个人不是计算机专业的,作为一个业余爱好,不足之处请多指教。

MessageBox的函数原型为:

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

在 windows程序设计 中

Charles Petzold 所举实例如下

#include<windows.h>int WINAPIWinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance,PSTR szCmdLine, intiCmdShow){MessageBox(NULL, TEXT ("Hello, Windows 98!"), TEXT ("HelloMsg"), 0);return 0 ;}


运行后结果如图所示———一个简单的消息框和一个确定按钮。点击确定后直接退出程序了。没有什么功能,根据以前学过的vb和delphi的经验,任何按钮下都应该有可以实现某种特殊功能。

于是百度一下相关,找到类似的例子,我把它改成这样

UINT nRet =MessageBox(NULL, L"确定要删除此记录?", L"提示", MB_OKCANCEL |MB_ICONERROR);if (nRet == IDOK){//MessageBox(NULL,TEXT("123"), TEXT("OK"), NULL);//功能1}else if (nRet == IDCANCEL){//MessageBox(NULL, TEXT("11"),TEXT("cancel"), NULL);//功能2}
return 0 ;

运行结果如下


这里我们定义了一个UINT (MessageBox函数原型的最后一个参数)类型名为nRet 的参数以接收用户选择的按钮;

语句if (nRet == IDOK)中IDOK和IDCANCEL一样都是常数。

按下确定后执行了

MessageBox(NULL,TEXT("123"), TEXT("OK"), NULL);

实现了我们想要的功能.

/

修改按钮文本(一般用于国际化)   
  HHOOK   hHook;   
  LRESULT   __stdcall   CBTHookProc(   long   nCode,WPARAM   wParam,LPARAM   lParam)   
  {   
      if   (nCode==HCBT_ACTIVATE)   
      {   
      SetDlgItemText((HWND)wParam,IDYES,"&Yes");   
      SetDlgItemText((HWND)wParam,IDNO   ,"&No");   
      SetDlgItemText((HWND)wParam,IDOK,"&OK");   
      SetDlgItemText((HWND)wParam,IDCANCEL,"&Cancel");   
      UnhookWindowsHookEx(hHook);   
      }   
      return   0;   
  }   
  使用方法:   在调用MessageBox前加入以下函数
  hHook=SetWindowsHookEx(WH_CBT,(HOOKPROC)CBTHookProc,AfxGetInstanceHandle(),NULL);  

/


http://chatgpt.dhexx.cn/article/4dk9c8Qw.shtml

相关文章

MsgBox函数和MsgBox语句

MsgBox函数和MsgBox语句均可用来弹出对话框&#xff0c;不同处在于MsgBox函数可以返回一个值&#xff0c;而MsgBox语句不会返回值。 MsgBox语句&#xff1a;用于弹出一个对话框。 格式如下&#xff1a; MsgBox内容[&#xff0c;类型][&#xff0c;标题][&#xff0c;帮助文件名…

MATLAB中的msgbox函数

一、函数语法 h msgbox(Message) h msgbox(Message,Title) h msgbox(Message,Title,Icon) h msgbox(Message,Title,custom,IconData,IconCMap) h msgbox(...,CreateMode) 二、参数解析&#xff1a; h msgbox(Message) 创建一个对话框&#xff0c;根据figure窗体大…

MatLab msgbox用法

matlab中的msgbox为信息对话框&#xff0c;其基本用法为 msgbox(‘显示内容’,‘标题’)msgbox(‘显示内容’,‘标题’,‘系统图标’)&#xff0c;系统图标主要有none&#xff0c;error&#xff0c;help&#xff0c;warnmsgbox(‘显示内容’,‘标题’,‘custom’,‘IconData’…

VB中的“msgbox”函数各参数详解

不知不觉已经学习VB一个月了&#xff0c;本人开始了关于这门语言查漏补缺的工作&#xff0c;特在此做记录&#xff0c;对于有疑问的朋友有一定帮助&#xff0c;编程高手请不要喷。 很多时候我们是用msgbox函数的时候只用到了其prompt参数&#xff0c;对于其他的参数我们没有用…

vba-msgbox用法详解

自己对MsgBox 函数的整理&#xff0c;可直接看实例更有用&#xff08;Bi站已改名为“vba_cpp”&#xff09; 在i对话框中显m示消息&#xff0c;等待i用户单击按钮&#xff0c;并n返回一个 Integer 告诉用户单击哪一个按钮。 MsgBox(prompt[, buttons] [, title] [, helpfile,…

vbs进阶——实用函数之msgbox篇

两个月没写博客了&#xff0c;最近重新来找一下感觉吧。因为疫情严重&#xff0c;闲着也是闲着&#xff0c;就来写写vbs的博客吧。 在vbs入门里我曾经提到过msgbox这个函数&#xff0c;可以弹出一个对话框&#xff0c;下面我来具体描述一下这个函数完整的格式 msgbox msgbox…

【VBScript】MsgBox()函数

MsgBox是Visual Basic和VBS中的一个函数&#xff0c;功能是弹出一个对话框&#xff0c;等待用户单击按钮&#xff0c;并返回一个Integer值表示用户单击了哪一个按钮。 一.MsgBox(prompt, buttons, title, helpfile, context) prompt是显示文字&#xff1b; buttons是按钮的数…

如何将Matlab中“模糊控制设计器”的隶属度函数导出图片(figure)

如何将Matlab中“模糊控制设计器”的隶属度函数导出图片&#xff08;figure&#xff09; 详情参考matlab官方帮助手册&#xff1a;plotmf()函数 https://www.mathworks.com/help/fuzzy/plotmf.html 1.在利用matlab模糊控制设计器时&#xff0c;将设计完成的模糊控制器保存到…

模糊控制之高斯隶属度函数(S7-200 SMART PLC 梯形图篇)

高斯隶属度函数的具体算法公式,可以参看专栏的其它文章,链接地址如下: 模糊控制之高斯型隶属度函数(博途PLC SCL篇)_RXXW_Dor的博客-CSDN博客_高斯隶属度函数在工程上用的较多的,五种基本隶属度函数分别是三角形,钟形,高斯型,梯形,和Sigmoid型。这篇博文主要讲解高斯…

分段模糊隶属度的自定义python函数(线性插值原理)

def Member_dgre(x,y,xi):#x是指标列表&#xff0c;y是隶属度列表,xi是具体的一个指标数值if (y[-1]-y[0])/(x[-1]-x[0])>0:#如果x是与隶属度呈正相关的正向指标if xi<x[0]:yiy[0]if xi>x[-1]:yiy[-1]else:for j in range(len(x)):if xi>x[j] and xi<x[j1]:yiy[…

模糊控制之高斯型隶属度函数(博途PLC SCL篇)

在工程上用的较多的,五种基本隶属度函数分别是:三角形,钟形,高斯型,梯形,和Sigmoid型。这篇博文主要讲解高斯型隶属度函数解析式,和其博途PLC SCL实现代码。三角形隶属函数的详细讲解可以参看下面这篇博文: 博途PLC模糊PID三角隶属度函数trimf()优化写法_RXXW_Dor的博…

(小记)matlab导出模糊控制器中的surface viewer和隶属度曲线

本来是用labview做的模糊控制&#xff0c;但论文需要&#xff0c;这个图又导不出来&#xff0c;只能将模糊规则导进matlab的fuzzy工具中。 labview的模糊工具保存的格式是 .fs&#xff0c;matlab的模糊工具是.fis。 需要先创建matlab的fis文件。 一、导出surface二、导出隶属度…

模糊数学笔记:三、模糊隶属度函数的确定及常用隶属度函数

1、模糊隶属度函数的确定方法 直觉法: 人们用自己对模糊概念的认识和理解&#xff0c;或者人们对模糊概念的普遍认同来建立隶属函数。这种方法通常用于描述人们熟知、有共识的客观模糊现象&#xff0c;或者用于难于采集数据的情形。 二元对比排序法:二元对比排序方法就是通过对…

模糊特征隶属度及图像增强相关

模糊特征隶属度函数 若以像素的相对灰度等级作为感兴趣的模糊特征&#xff0c;模糊隶属度函数的定义方式多&#xff0c;在实际问题中&#xff0c;最常用的隶属度函数形式是标准的 S S S型函数和 p a i pai pai型函数。其中&#xff0c; S S S型函数是一种从0到1的单调增长喊数…

【Fuzzy】隶属度函数和模糊推理

导航 π \pi π型隶属度函数Gaussian型隶属度函数钟型隶属度函数S型隶属度函数梯形隶属度函数三角型隶属度函数Z型隶属度应用&#xff1a;模糊控制系统 π \pi π型隶属度函数 隶属度函数的形状和符号 π \pi π相似&#xff0c;使用fuzzy logical toolbox函数实现 % 建立pi型…

模糊控制之Sigmoidmf隶属度函数( PLC SCL代码)

PLC的模糊PID控制可以参看专栏的相关文章,链接地址如下,限于本人水平和能力,文中难免出现错误和不足之处,诚恳的欢迎大家指正和批评,同时感谢关注和订阅。 Matlab仿真+博途PLC模糊PID控制完整SCL源代码参考(带模糊和普通PID切换功能)_RXXW_Dor的博客-CSDN博客模糊PID的…

隶属度函数模板

模糊隶属度函数划分等级 根据国家对信号交叉路口的评价标准&#xff0c;对交通状况分为4个等级&#xff0c;分别为Ⅰ级舒适畅通、Ⅱ级接近饱和、Ⅲ级常呈混乱、Ⅳ级阻塞。因此选用4个等级的模糊隶属度函数。分别为&#xff1a; 某时段交通状况对Ⅰ级路况的隶属度函数&#x…

matlab 模糊控制 输出隶属度函数,模糊控制中的隶属度函数怎么确定

满意答案 ZCD1993 2016.12.28 采纳率&#xff1a;47% 等级&#xff1a;12 已帮助&#xff1a;9218人 你说的应该是模糊控制的隶属度函数吧 (1)模糊统计法&#xff1a;   模糊统计法的基本思想是对论域U上的一个确定元素vo是否属于论域上的一个可变动的清晰集合A3作出清晰的…

模糊隶属度函数

模糊系统 常规系统会在你输入后得到下一个时刻的输出&#xff0c;但在现实世界中会有很多情况不确定&#xff0c;但可以给出不同状态的集合&#xff0c;且是模糊集合&#xff0c;则称为模糊系统。 粗糙集 隶属度函数的选择主要由模糊集合决定&#xff0c;若某个 下面用一个简单…

matlab 模糊隶属度判断类别

1、内容简介 略 552-可以交流、咨询、答疑 2、内容说明 略 3、仿真分析 close all clear clc %% 超声故障判断 disp([该程序用于超声故障判断]) disp([输入&#xff1a;value变量的数值]) disp([输出&#xff1a;NO--无故障]) disp([输出&#xff1a;BS--超声故障放少]) d…