C语言编程弹出对话框
- 格式:docx
- 大小:10.42 KB
- 文档页数:1
第7章使用消息框众所周知,消息框是一种使用频率非常高的人机交互窗口,例如在操作Windows操作系统或者访问网络的过程中就经常看到消息框。
本章首先介绍了消息框的使用情况,并结合实例和代码介绍了在Visual C# 2008中,使用MessageBox创建消息框的方法。
7.1 消息框简介消息框是常用的一种人机交互对话框,使用消息框作为人机交互对话框的情况一般有两种:第一种是仅用来给用户显示信息,这种情况下的消息框一般只具有一个按钮,如在某个网站上注册用户完毕后可能会弹出一个“新用户注册成功!”的消息框,如图7-1所示,该消息框中只有一个【确定】按钮,其作用仅仅是提醒用户注册已成功,用户得到该信息后单击【确定】按钮,关闭消息框即可。
图7-1 注册成功消息框第二种情况是用来询问用户,也是用的最多的一种情况,这时的消息框一般有如【是】、【否】、【确定】、【取消】等的多个按钮,并且系统根据用户的选择采取不同的处理方式,例如修改了Word文档后,在没有保存修改的情况下单击系统关闭按钮,则会弹出类似于图7-2所示的对话框。
图7-2 关闭Word文档弹出的消息框这时用户的选择不同,系统的处理方式也不同,如选择【是】按钮,则保存Word文档并关闭Word软件;若选择的是【否】按钮,则不会保存Word文档并关闭Word软件;若选择的是【取消】按钮,则不保存Word文档,也不关闭Word软件,而是返回到Word当前的工作状态。
7.2 MessageBox通过上面的介绍,已经清楚了消息框的作用是输出信息和询问用户,在Visual C# 2008中,可以使用MessageBox来创建消息框。
其语法格式为:MessageBox.Show(text[,caption][,buttons][,icon][,defaultbutton])说明:①Show()为MessageBox的方法,其作用是在屏幕上显示消息框。
②text字符串表示消息框输出的信息。
c#⾃动关闭MessageBox弹出的窗⼝⼀:我们都知道,MessageBox弹出的窗⼝是模式窗⼝,模式窗⼝会⾃动阻塞⽗线程的。
所以如果有以下代码:MessageBox.Show("内容',"标题");则只有关闭了MessageBox的窗⼝后才会运⾏下⾯的代码。
⽽在某些场合下,我们⼜需要在⼀定时间内如果在⽤户还没有关闭窗⼝时能⾃动关闭掉窗⼝⽽避免程序⼀直停留不前。
这样的话我们怎么做呢?上⾯也说了,MessageBox弹出的模式窗⼝会先阻塞掉它的⽗级线程。
所以我们可以考虑在MessageBox前先增加⼀个⽤于“杀”掉MessageBox窗⼝的线程。
因为需要在规定时间内“杀”掉窗⼝,所以我们可以直接考虑使⽤Timer类,然后调⽤系统API关闭窗⼝。
核⼼代码如下:[DllImport("user32.dll", EntryPoint = "FindWindow", CharSet=CharSet.Auto)]private extern static IntPtr FindWindow(string lpClassName, string lpWindowName);[DllImport("user32.dll", CharSet=CharSet.Auto)]public static extern int PostMessage(IntPtr hWnd, int msg, IntPtr wParam, IntPtr lParam);public const int WM_CLOSE = 0x10;private void StartKiller(){Timer timer = new Timer();timer.Interval = 10000; //10秒启动timer.Tick += new EventHandler(Timer_Tick);timer.Start();}private void Timer_Tick(object sender, EventArgs e){KillMessageBox();//停⽌计时器((Timer)sender).Stop();}private void KillMessageBox(){//查找MessageBox的弹出窗⼝,注意MessageBox对应的标题IntPtr ptr = FindWindow(null,"标题");if(ptr != IntPtr.Zero){//查找到窗⼝则关闭PostMessage(ptr,WM_CLOSE,IntPtr.Zero,IntPtr.Zero);}}在需要的地⽅先调⽤ StartKiller ⽅法再使⽤Messagebox.Show()⽅法即可达到⾃动关闭 MessageBox 的效果。
WinCC中C脚本弹出对话框代码代码:int cal_wr;cal_wr=MessageBox(NULL, "1#卷取机1#助卷辊标定?", "标定确认",MB_YESNO|MB_SYSTEMMODAL);if (cal_wr==IDYES)SetTagBit("TAGNAME",TRUE);elseSetTagBit("TAGNAME",FALSE);相关知识:HWND hWnd=NULL //定义变量hWnd=FindWindow(NULL,"Wincc‐运行系统 ‐ ") //获取窗口句柄MessageBox(hWnd,"这是个对话框!","哈哈",MB_OKCANCEL|MB_ICONWARNING|MB_APPLMODAL)函数功能:该函数创建、显示、和操作一个消息框。
消息框含有应用程序定义的消息和标题,加上预定义图标与Push(下按)按钮的任何组合。
函数原型:int MessageBox(HWND hWnd,LPCTSTR IpCaption,UINT UType);参数:hWnd:标识将被创建的消息框的拥有窗口。
如果此参数为NULL,则消息框没有拥有窗口。
IpText:指向一个以NULL结尾的、含有将被显示的消息的字符串的指针。
IpCaption:指向一个以NULL结尾的、用于对话框标题的字符串的指针。
uType:指定一个决定对话框的内容和行为的位标志集。
此参数可以为下列标志组中标志的组合。
指定下列标志中的一个来显示消息框中的按钮,标志的含义如下。
MB_ABORTRETRYIGNORE:消息框含有三个按钮:Abort,Retry和Ignore。
MB_OK:消息框含有一个按钮:OK。
这是缺省值。
MB_OKCANCEL:消息框含有两个按钮:OK和Cancel。
c++的messageboxa函数用法1. 什么是MessageBoxA函数MessageBoxA函数是Windows API中的一个函数,用于创建一个消息框并显示指定的消息和标题。
它的原型为:int MessageBoxA(HWND hWnd, LPCSTR lpText, LPCSTR lpCaption, UINT uType),其中参数分别表示消息框的父窗口句柄、消息文本、标题文本和消息框的类型。
2. MessageBoxA函数的基本用法MessageBoxA函数的基本用法非常简单,只需传入相应的参数即可弹出消息框并显示指定的消息和标题。
例如:```C++#include <windows.h>int main() {MessageBoxA(NULL, "Hello, this is a MessageBoxA example.", "Message", MB_OK);return 0;}```上面的代码将创建一个简单的消息框,显示消息文本为"Hello, this is a MessageBoxA example.",标题为"Message",并且只包含一个确定按钮。
3. MessageBoxA函数的消息框类型MessageBoxA函数会根据传入的参数uType来确定消息框的类型,可以根据需要选择不同的类型。
常见的消息框类型包括:- MB_OK:只包含一个确定按钮- MB_YESNO:包含“是”和“否”两个按钮- MB_ICONINFORMATION:显示信息图标- MB_ICONWARNING:显示警告图标- MB_ICONERROR:显示错误图标等等4. MessageBoxA函数的返回值MessageBoxA函数在用户关闭消息框时会返回一个整数值,表示用户点击了哪一个按钮。
如果消息框包含“是”和“否”两个按钮,用户点击“是”按钮时函数返回值为IDYES,点击“否”按钮时返回值为IDNO。
C语⾔API编写窗⼝界⾯和button近期有个同学的程序须要⽤对话框的⽅式实现,但前⾯都是通过⿊框形式完毕的,⽼师突然让添加⼀个界⾯,本来准备採⽤MFC完毕的,但后来⼀想,该程序核⼼东西是体如今它的算法上,控制台的程序并不是不好.转念⼀想,假设使⽤MFC这个⽅案好像须要再倒腾⼀遍,想到了⼤⼀在"C语⾔能⼲⼤事"中的东西,所以就准备採⽤这种形式直接完毕,投机取巧的⽅法.主要是通过调⽤Windows API界⾯的CreateWindows函数完毕,同⼀时候也能创建button,把參数设置为button,假设想响应该button,仅仅需在回调函数中添加消息WM_COMMAND推断就可以.代码例如以下:#include<windows.h>#include<stdio.h>//声明回调函数LRESULT CALLBACK WndProc (HWND, UINT, WPARAM, LPARAM) ;//主函数程序⼊⼝int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance,PSTR szCmdLine, int iCmdShow){static TCHAR szAppName[] = TEXT ("HelloWin") ;HWND hwnd ; //⽤来保存成功创建窗⼝后返回的句柄MSG msg ; //定义消息结构体变量WNDCLASS wndclass ; //窗⼝类wndclass.style = CS_HREDRAW | CS_VREDRAW ; //指定窗⼝风格wndclass.lpfnWndProc = WndProc ; ////函数指针,指向处理窗⼝消息的函数⼊⼝wndclass.cbClsExtra = 0 ; //结构体后附加的字节数,⼀般总为0wndclass.cbWndExtra = 0 ; //窗⼝实例附加的字节数,⼀般总为0wndclass.hInstance = hInstance ; //模块句柄wndclass.hIcon = LoadIcon (NULL, IDI_APPLICATION) ; //图标句柄任务栏显⽰的图标wndclass.hCursor = LoadCursor (NULL, IDC_ARROW) ; //光标句柄wndclass.hbrBackground = (HBRUSH)GetStockObject(WHITE_BRUSH); //背景颜⾊COLOR_BACKGROUNDwndclass.lpszMenuName = NULL ; //菜单名的字符串wndclass.lpszClassName = szAppName ; //⾃⼰定义类名,不要与其它类名反复if (!RegisterClass (&wndclass)){MessageBox (NULL, TEXT ("注冊类失败!"), szAppName, MB_ICONERROR) ;return 0 ;}int x =((GetSystemMetrics(SM_CXSCREEN)/2)-200); //x居中int y =((GetSystemMetrics(SM_CYSCREEN)/2)-200); //y居中//创建窗⼝APIhwnd = CreateWindow(szAppName,TEXT("毕业设计"),WS_CAPTION|WS_SYSMENU|WS_MINIMIZEBOX,x,y,400,400,NULL,NULL,hInstance,NULL);//显⽰窗⼝的API 传⼊须要显⽰的窗⼝句柄和显⽰⽅式ShowWindow(hwnd,iCmdShow);//刷新窗⼝的APIUpdateWindow(hwnd);//从系统的应⽤程序线程消息队列中取得⼀个消息while(GetMessage(&msg,NULL,0,0) > 0){DispatchMessage(&msg);}return msg.wParam;}LRESULT CALLBACK WndProc (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam){HDC hdc; //句柄PAINTSTRUCT ps;RECT rect; //矩形HINSTANCE hInstance; //窗⼝实例static HWND hwndButton[2]; //button句柄switch (message){case WM_CREATE: //创建button{hInstance = ((LPCREATESTRUCT)lParam)->hInstance;//button1hwndButton[0] = CreateWindow("BUTTON","训练",WS_TABSTOP | WS_VISIBLE | WS_CHILD | BS_DEFPUSHBUTTON,10,10,100,100,hwnd,NULL,(HINSTANCE)GetWindowLong(hwnd, GWL_HINSTANCE), NULL);//button2hwndButton[1] = CreateWindow("BUTTON","获取",WS_TABSTOP | WS_VISIBLE | WS_CHILD | BS_DEFPUSHBUTTON,10,250,100,100,hwnd,NULL,(HINSTANCE)GetWindowLong(hwnd, GWL_HINSTANCE), NULL);return 0;}case WM_PAINT: //绘制⽂字hdc = BeginPaint(hwnd,&ps);GetClientRect(hwnd,&rect);DrawText(hdc,TEXT("By:Eastmount CSDN制作"),-1,&rect,DT_SINGLELINE|DT_CENTER|DT_VCENTER); EndPaint(hwnd,&ps);return 0;case WM_COMMAND: //响应button消息if((HWND)lParam == hwndButton[0]){MessageBox(NULL,TEXT("是否训练图⽚?"),TEXT("提⽰"),MB_YESNO|MB_ICONQUESTION);}if((HWND)lParam == hwndButton[1]){MessageBox(NULL,TEXT("是否获取图⽚?"),TEXT("提⽰"),MB_YESNO|MB_ICONQUESTION);}return 0;case WM_CLOSE: //关闭if(IDYES==MessageBox(hwnd,"是否关闭程序?","提⽰",MB_YESNO|MB_ICONQUESTION)){DestroyWindow (hwnd);}return 0;case WM_DESTROY: //退出程序PostQuitMessage (0) ;return 0 ;}return DefWindowProc (hwnd, message, wParam, lParam) ;}程序执⾏结果例如以下图所看到的:当中主要涉及到的函数原型例如以下所看到的://创建窗⼝hwnd = CreateWindow (szClassName, /* Classname */"Windows App", /* Title Text */WS_OVERLAPPEDWINDOW, /* default window */CW_USEDEFAULT, /* Windows decides the position */CW_USEDEFAULT, /* where the window ends up on the screen */544, /* The programs width */375, /* and height in pixels */HWND_DESKTOP, /* The window is a child-window to desktop */NULL, /* No menu */hThisInstance, /* Program Instance handler */NULL /* No Window Creation data */);//创建按钮hwndButton = CreateWindow("BUTTON", // predefined class"OK", // button textWS_VISIBLE | WS_CHILD | BS_DEFPUSHBUTTON, // styles10, // starting x position10, // starting y position100, // button width100, // button heighthwnd, // parent windowNULL, // No menu(HINSTANCE) GetWindowLong(hwnd, GWL_HINSTANCE),NULL // pointer not needed);最后,写这篇⽂章主要是怀念⾃⼰⼤⼀时的⽣活,从⼀个什么都不知道的孩⼦,通过学习C语⾔,C语⾔能⼲⼤事開始接触编程.同⼀时候,我觉得这个程序也是很还的⼊门程序,希望刚接触程序的同学也能够看看,编编⾃⼰感兴趣的程序、写写博客、AC题⽬、编写游戏、聊天软件、移动开发,能从程序和⽣活中找到⼀些让⾃⼰⼼灵美妙的东西.(By:Eastmount 2014-5-25 夜2点半原创CSDN)。
VC显示关闭销毁模态与非模态对话框技巧VC++是一种用于Windows平台开发应用程序的集成开发环境,用于构建图形用户界面和控制应用程序的行为。
在VC++中,对话框是一种常用的用户界面元素,可以用于显示和获取用户输入。
在使用对话框时,要注意对话框的显示、关闭和销毁。
1.显示对话框在VC++中,显示一个对话框可以通过以下几种方式实现:a. 使用DoModal函数DoModal函数是CDialog类的一个成员函数,用于显示对话框,并返回对话框的返回值。
例如,可以使用下面的代码显示一个对话框:CMyDialog dlg;dlg.DoModal(;b. 使用Create函数Create函数是CDialog类的另一个成员函数,用于创建对话框,并显示它。
使用Create函数时,需要先调用Create函数创建对话框,然后调用ShowWindow函数显示对话框。
以下是使用Create函数显示对话框的示例代码:CMyDialog dlg;dlg.Create(IDD_MYDIALOG);dlg.ShowWindow(SW_SHOW);c.使用模态对话框模态对话框是一种阻塞式对话框,显示模态对话框时,在对话框关闭之前,用户无法与其他应用程序进行交互。
要显示一个模态对话框,可以通过调用DoModal函数,并传递对话框的资源ID来实现。
以下是使用模态对话框的示例代码:CMyDialog dlg;INT_PTR nResponse = dlg.DoModal(;2.关闭对话框在VC++中,可以使用以下几种方式关闭对话框:a. 使用EndDialog函数EndDialog函数是CDialog类的一个成员函数,用于关闭对话框,并返回对话框的返回值。
以下是使用EndDialog函数关闭对话框的示例代码:OnOKEndDialog(IDOK);b.使用DestroyWindow函数DestroyWindow函数是CWnd类的一个成员函数,用于销毁窗口,并关闭对话框。
第一课、1.新建工程---->创建Windows 窗口应用程序-->一个简单的窗口程序MessageBox(NULL,TEXT(“正文”), TEXT(“标题”), 显示板按钮);在开发windows 程序中,几乎所有的字符串都要用TEXT (“”)函数包起来2.将MB_OK 换成MB_YESNO ,就可以显示两个按钮。
MB_YESNOCANCEL 则显示三个按钮这里的MB_其实是Windows 已经宏定义的常量,MB 表示MessageBox 。
有如下的值:一、可以设置在对话框中显示的按钮 MB_OKMB_OKCANCEL MB_YESNOMB_YESNOCANCELMB_ABORTRETRYIGNORE (abort 、retry 、ignore ) MB_RETRYCANCEL二、可以设置在对话框中显示的图标 MB_ICONHAND 出现一个叉 MB_ICONQUESTION 变成下图真正我自己输入的内容表示显示ok 按钮MB_ICONEXCLAMATION 出现感叹号表示警告MB_ICONASTERISK 出现信息提示的感叹号重要:将函数代码换成(加一条竖线)MessageBox(NULL,TEXT(“正文”),TEXT(“标题”),MB_YESNO|MB_ICONQUESTION)就可以既显示图标,有显示yes/no,其他效果类同。
效果如下:“|”是位运算中的“或”运算MessageBox的返回值为int,通过MessageBox来判断用户是点了YES还是NO的按钮具体代码如下:intret=MessageBox (NULL,TEXT("你是傻逼吗?"),TEXT("提问"), MB_YESNO|MB_ICONQUESTION) ;if(ret==IDYES){MessageBox(NULL,TEXT("我是傻逼!"),TEXT("回复"),MB_OK);}else{MessageBox(NULL,TEXT("滚!你才是傻逼!"),TEXT("回复"),MB_OK);}不同按钮对应的返回值宏定义如下:IDYES、IDNOIDOK、IDCANCELIDABORT、IDRETRY、IDIGNORE第二课程序debug版本和release版本的区别:Debug版本是用来调试用的,在别人的电脑上若他没装c-free或者vc++,则有可能程序无法运行,此外debug版本的程序运行效率较低最好给别人release版本的程序2.如何生成release 版本的exe 程序?答:在工程文件上右键---->工程设置--->选择release---->点击应用即可---->点击运行就有了这边会有所显示的一、如何开发对话框的程序 新建工程,选择对话框程序工具---->对话框编辑器(可以操作控件,也就是自己设计对话框)选中控件,在这里修改名称(标题属性)、颜色等属性(在vc++中是双击即可)Cfree 中编辑对话框功能有限,可以安装resed 资源编辑器进行补充,文件保存在(.rc )格式的文件中 解决办法如下:下载完成后将压缩包中的解压到C-Free 的安装目录下,如果你没有修改C-Free 的安装路径的话,一般是“C:/Program Files/C-Free 4”。
VC编程技术点滴(二)定义一个简单的对话框(2009-05-12 10:00:11)标签:vc自定义对话框it分类:VC学习点滴一、定义对话框资源继续上一节使用的程序例子。
如下图所示,在程序资源视图中添加一个自定义的对话框:对话框比较简单,只是添加了一个编辑框控件和一个显示提示文字的静态文本控件,另外的OK按钮和Cancel按钮是系统自动添加的。
二、定义对话框类有了对话框资源,还要定义一个与之关联的对话框类才可以使用。
如下图所示定义对话框类:有了对话框类,为了使其它对象(如CSysMenuView对象)可以获取对话框中的控件信息,需要为对话框类添加一个公共成员变量,以保存编辑框的输入值。
这里定义一个字符串变量name,如下图所示:获取对话框中编辑控件输入值的方法有多种,下图是通过定义编辑框控件的关联变量(控件的成员变量有两种类型,一种是值变量,保存用户输入;一种是控件变量,代表当前控件对象)m_Name来获取输入值:也可以实验一下定义一个编辑框的控件变量m_Edit,如下图所示:为控件添加成员变量后,系统自动生成以下代码://MyDialog.h......class MyDialog : public CDialog{// Constructionpublic:CString name;//前面定义的MyDialog类的公共成员变量,用于在对话框以外获取数据信息MyDialog(CWnd* pParent = NULL); // standard constructor// Dialog Data//{{AFX_DATA(MyDialog)enum { IDD = IDD_DIALOG1 };CEdit m_Edit;CString m_Name;//}}AFX_DATA......//MyDialog.cpp......MyDialog::MyDialog(CWnd* pParent ): CDialog(MyDialog::IDD, pParent){//{{AFX_DATA_INIT(MyDialog)m_Name = _T("");//在构造函数中初始化控件成员变量//}}AFX_DATA_INIT}//对话框数据交换函数void MyDialog::DoDataExchange(CDataExchange* pDX){CDialog::DoDataExchange(pDX);//{{AFX_DATA_MAP(MyDialog)//关联编辑控件及其成员变量DDX_Control(pDX, IDC_EDIT1, m_Edit);DDX_Text(pDX, IDC_EDIT1, m_Name);//}}AFX_DATA_MAP}......下面为对话框的OK按钮添加消息处理函数。
弹出窗口杀手是一个可以自动关闭IE弹出窗口的程序,它工作在系统的托盘中,按照一定的间隔来检测IE窗口,然后关闭弹出窗体。
最后,还提供了用热键来杀掉弹出窗口的功能。
虽然已经有类似的用C++写的程序,但是本文讲述的是用C#来实现这些功能,并且本文所讲的方案在查找窗口上的方法要比更快一些。
这是一个崭新的话题,在Internet上我们还可以看到许多类似的程序。
但是我也还是要借这个机会来讲述一些下面的技术在C#中如何实现:系统托盘程序切换计时控件查找窗口系统热键生成一个系统托盘程序首先,产生一个新的C# Windows Form程序,将NotifyIcon控件从工具箱中拖到窗体中,如下图所示:在C# windows Form程序中添加托盘为了保证系统托盘的图标和应用程序的图标一致,我们用一个共同的图标文件a.ico来设置系统托盘的图标和应用程序的图标。
为了使程序不显示在工具栏上,我们可以设置窗体的visible属性为false. 这个可以在窗体属性窗口中直接实现。
this.ShowInTaskbar = false;到目前为止,系统托盘已基本好了,但是我们还没有设置右键菜单,也没有使程序显示和隐藏的功能。
程序切换首先,程序的主窗体可以根据不同的状态来选择显示或者是隐藏,除此之外,我们可以用WindowState设置窗体的状态:public void HideApp(){this.WindowState = FormWindowState.Minimized;Hide();}public void ShowApp(){Show();this.WindowState = FormWindowState.Normal;}一个非常有趣的功能是让用户关闭窗体的时候程序并不是退出,为了实现这个功能,我们必须要重写窗体的OnClosing事件。
protected override void OnClosing(CancelEventArgs e){// 用最小化来代替关闭操作de.Cancel = true;// 最小化,并且隐藏窗体this.WindowState = FormWindowState.Minimized;Hide();}当然,我们必须要提供一个必须的退出方法.这个可以在托盘的右键菜单的exit中实现,private void menu_App_Exit(object sender,System.EventArgs e){NativeWIN32.UnregisterHotKey(Handle,100);//隐藏托盘notifyIcon1.Visible = false;Application.Exit();}添加右键菜单添加一个右键菜单和添加托盘基本一样,从工具箱中添加context menu就可以.右键菜单在你鼠标右键按下的时候是会自动弹出的。
C语⾔Windows程序开发—MessageBox函数介绍【第01天】(⼀)MessageBox函数的参数介绍:1int MessageBox (2 HWND hWnd, //弹出MessageBox对话框所属的窗⼝句柄3 LPCTSTR lpText, //指向MessageBox对话框内容的字符串指针4 LPCTSTR lpCaption, //指向MessageBox对话框标题的字符串指针5 UINT uType //MessageBox对话框的风格6 ) ;函数调⽤⽰例:1 MessageBox ( NULL, TEXT ("程序运⾏出错!"), TEXT ("错误"), MB_OK | MB_ICONERROR ) ;第1个参数:窗⼝句柄的实参为NULL,表⽰不属于任何窗⼝;第2个参数:对话框内容,“程序运⾏错误!”;第3个参数:对话框标题,“错误”;第4个参数:对话框风格,其值通常是以MB_开头的常量组合(MB_按钮类型 | MB_图标类型)对话框风格常量类型:<1>对话框的按钮类型:1#define MB_OK 0x00000000L //"确定"2#define MB_OKCANCEL 0x00000001L //"确定" + "取消"3#define MB_ABORTRETRYIGNORE 0x00000002L //"终⽌" + "重试" + "忽略"4#define MB_YESNOCANCEL 0x00000003L //"是" + "否" + "取消"5#define MB_YESNO 0x00000004L //"是" + "否"6#define MB_RETRYCANCEL 0x00000005L //"重试" + "取消"<2>对话框的图标类型1#define MB_ICONHAND 0x00000010L //带有红X的错误/停⽌图标2#define MB_ICONQUESTION 0x00000020L //问号的询问图标3#define MB_ICONEXCLAMATION 0x00000030L //黄⾊感叹号的警告图标4#define MB_ICONASTERISK 0x00000040L //带有蓝i的信息提⽰图标(⼆)MessageBox函数实例应⽤1 #include <windows.h>23int WINAPI WinMain ( HINSTANCE hInstance, HINSTANCE hPrevInstance, PSTR szCmdLine, int iCmdShow )4 {5 MessageBox ( NULL, TEXT ("Hello, World!"), TEXT ("MessageBox⽰例"), MB_OK ) ;6return0 ;7 }运⾏结果:。