汇编语言MessageBoxA函数:显示消息框

  • 内容
  • 评论
  • 相关

Win32 应用程序生成输岀的一个最简单的方法就是调用 MessageBoxA 函数:

MessageBoxA PROTO,
    hWnd:DWORD,                   ;窗口句柄(可以为空)
    lpText:PTR BYTE,                 ;字符串,对话框内
    lpCaption:PTR BYTE,           ;字符串,对话框标题
    uType:DWORD                   ;内容和行为

基于控制台的应用程序可以将 hWnd 设置为空,表示该消息框没有相关的包含窗口或父窗口。lpText 参数是指向空字节结束字符串的指针,该字符串将出现在消息框内。lpCaption 参数指向作为对话框标题的空字节结束字符串。uType 参数指定对话框的内容和行为。

内容和行为

uType 参数包含的位图整数组合了三种选项:显示按钮、图标和默认按钮选择。几种可能的按钮组合如下:

  • MB_OK
  • MB_OKCANCEL
  • MB_YESNO
  • MB_YESNOCANCEL
  • MB_RETRYCANCEL
  • MB_ABORTRETRYIGNORE
  • MB_CANCELTRYCONTINUE

默认按钮

可以选择按钮作为用户点击 Enter 键时的自动选项。选项包括 MB_DEFBUTTON1(默认)、MB_DEFBUTTON2、MB_DEFBUTTON3 和 MB_DEFBUTTON4。按钮从左到右,从 1 开始编号。

图标

有四个图标可用。有时多个常数会产生相同的图标:

  • 停止符:MB_ICONSTOP. MB_ICONHAND 或 MB_ICONERROR
  • 问号(?):MB_ICONQUESTION
  • 信息符(i):MB_ICONINFORMATION、MB_ICONASTERISK
  • 感叹号(!):MB_ICONEXCLAMATION、MB_ICONWARNING

返回值

如果 MessageBoxA 失败,则返回零;否则,它将返回一个整数以表示用户在关闭对话框时点击的按钮。选项包括 IDABORT、IDCANCEL、IDCONTINUE、IDIGNORE、IDNO、IDOK、IDRETRY、IDTRYAGAIN,以及 IDYES。

Smallwin.inc 将 MessageBoxA 重定义为 MessageBox,这个名字看上去具有更强的用户友好性。

如果想要消息框窗口浮动于桌面所有其他窗口之上,就在传递的最后一个参数(uType 参数)值上添加 MB_SYSTEMMODAL 选项。

1) 演示程序

下面将通过一个小程序来演示函数 MessageBoxA 的一些功能。第一个函数调用显示一条警告信息:

本文标题:汇编语言MessageBoxA函数:显示消息框

本文地址:http://www.hosteonscn.com/5535.html

评论

0条评论

发表评论

邮箱地址不会被公开。 必填项已用*标注