MessageBox()功能

2022-07-11 09:12:13 浏览数 (1)

大家好,又见面了,我是全栈君

MessageBox()功能。这是一个非常频繁使用的Win32 API,在屏幕上显示一个窗体,提出问题,并等待用户输入。它的原型是 int MessageBox(HWND hwnd,LPCTSTR lptext, LPCTSTR lpcation,UINT utype) hwnd 句柄。设置为NULL,表示使用Windows 桌面作为其父窗体。 lptext 为一个以NULL结尾的字符串。表示包括文本。 lpcaption 为以NULL结尾的字符串,为消息框标题。

utype 该參数指定显示哪种类型的消息框。这个參数有非常多种。我就直接从百科中贴过来:

button:

MB_OK 默认值。有一个确认button在里面。

MB_YESNO 有是和否在里面。 MB_ABORTRETRYIGNORE 有Abort(放弃),Retry(重试)和Ignore(跳过) MB_YESNOCANCEL 消息框含有三个button:Yes,No和Cancel MB_RETRYCANCEL 有Retry(重试)和Cancel(取消) MB_OKCANCEL 消息框含有两个button:OK和Cancel

图标:

MB_ICONEXCLAMATION 一个惊叹号出如今消息框 MB_ICONWARNING 一个惊叹号出如今消息框 MB_ICONINFORMATION 一个圆圈中小写字母i组成的图标出如今消息框 MB_ICONASTERISK 一个圆圈中小写字母i组成的图标出如今消息框 MB_ICONQUESTION 一个问题标记图标出如今消息框 MB_ICONSTOP 一个停止消息图标出如今消息框 MB_ICONERROR 一个停止消息图标出如今消息框 MB_ICONHAND 一个停止消息图标出如今消息框

形态:

MB_APPLMODAL 在hwnd參数标识的窗体中继续工作曾经,用户一定响应消息框。可是,用户能够移动到其它线程的窗体且在这些窗体中工作。依据应用程序中窗体的层次机构,用户则以移动到线程内的其它窗体。

全部母消息框的子窗体自己主动地失效,可是弹出窗体不是这样。假设既没有指定MB_SYSTEMMODAL也没有指定MB_TASKMOOAL。则MB_APPLMODAL为缺省的。 MB_SYSTEMMODAL 除了消息框有WB_EX_TOPMOST类型,MB_APPLMODAL和MB_SYSTEMMODAL一样。

用系统模态消息框来改变各种各样的用户,基本的损坏错误须要马上注意(比如,内存溢出)。假设不是那些与hwnd联系的窗体。此标志对用户对窗体的相互联系没有影响。 MB_TASKMODAL 假设參数hwnd为NULL的话,那么除了全部属于当前线程高层次的窗体失效外,MB_TASKMODALL和MB_APPLMODAL一样。当调用应用程序或库没有一个能够得到的窗体句柄时,使用此标志。但仍须要阻止输入到调用线程的其它窗体,而不是搁置其它线程。

其它: MB_DEFAULT_DESKTOP_ONLY 接收输入的当前桌面一定是一个缺省桌面。否则,函数调用失败。

缺省桌面是一个在用户已经纪录且以后应用程序在此上面执行的桌面。 MB_HELP 把一个Helpbutton添加到消息框。选择Helpbutton或按F1产生一个Help事件。

MB_RIGHT 文本为右调整 MB_RTLREADING 用在Hebrew和Arabic系统中从右到左的顺序显示消息和大写文本。

MB_SETFOREGROUND 消息框变为前景窗体。

在内部系统为消息个调用SetForegroundWindow函数。 MB_TOPMOST 消息框用WS_EX_TOPMOST窗体类型来创建MB_SERVICE_NOTIFICATION。

MessageBox 函数是有返回值的:

IDOK(1) OK IDCANCEL(2) CANCEL IDABORT(3) ABORT IDRETRY(4) RETRY IDIGNORE(5) IGNORE IDYES(6) YES IDNO(7) NO

版权声明:本文博客原创文章。博客,未经同意,不得转载。

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/117743.html原文链接:https://javaforall.cn

0 人点赞