关闭

VC++中的消息处理

394人阅读 评论(0) 收藏 举报

  MessageBox()并没有什么多少功能,但是能够在屏幕上显示一个窗口,提出一个问题,并且等候用户的输入。下面是MessageBox()的原型:
  int MessageBox(HWND hwn,//handle of owner window
          LPCTSTR lptext,//address of text in message box
          LPCTSTR lpcaption,//address of title of message box
          UINT utype);//style of message box
  参数定义如下:
  hwnd——这是信息框连续窗口的句柄。目前我们还不能谈及窗口句柄,因此只能认为它是信息框的父窗口。在DEMO2_2.CPP,我们将它设置为空值NULL,因此使用Windows桌面作为父窗口。
  lptext——这是一个包含显示文本的空值终止字符串。
  lpcaption——这是一个包含显示文本框标题的空值终止字符串。
  utype——这大概是该簇参数中唯一令人激动的参数了,控制信息显示框的各类。
  表2.3列出了几种MessageBox()选项(有些删减)。

  表2.3 MessageBox()选项
  ─────────────────────────────────
           标志  描述
  ─────────────────────────────────
        下列设置控制信息框的一般类型
  ───────────┬─────────────────────
  MB_OK        │信息框含有一个按钮:OK,这是默认值
  MB_OKCANCEL     │信息框含有两个按钮:OK和Cancel
  MB_RETRYCANCEL   │信息框含有两个按钮:Retry和Cancel
  MB_YESNO      │信息框含有两个按钮:Yes和No
  MB_YESNOCANCEL   │信息框含有三个按钮:Yes、No和Cancel
  MB_ABORTRETRYIGNORE│信息框含有三个按钮:Yes、No和Cancel
  ───────────┴─────────────────────
       这一组控制在图标上添加一点“穷人的多媒体”
  ───────────┬─────────────────────
  MB_ICONEXCLAMATION │信息框显示一个惊叹号图标
  MB_ICONINFORMATION │信息框显示一个由圆圈中的小写字母I构成的图标
  MB_ICONQUESTION   │信息框显示一个问号图标
  MB_ICONSTOP     │信息框显示一个终止符图标
  ───────────┴─────────────────────
         该标志组控制默认时高亮的按钮
  ───────────┬─────────────────────
  MB_DEFBUTTONn    │其中n是一个指示默认按钮的数字(1-4),从左
             │到右计数
  ───────────┴─────────────────────
  注意:还有其他的高级OS级标志,我们没有讨论。如果希望了解更多细节的话,可以通过编译器Win32 SDK的在线帮助来查阅。

  可以同时使用表2.3中的值进行逻辑或运算,来创建一个信息框。一般情况下,只能从每一组中仅使用一个标志来进行或运算。
  当然,和所有Win2 API函数一样,MessageBox()函数返回一个值业通知编程者所发生的事件。但在这个例子中谁关心这个呢?通常情况下,如果信息框是yes/no提问之类的情况的话,就希望知道这个返回值。表2.4列出了可能的返回值。

      表2.4 MessageBox()的返回值
  ─────┬─────────────────────
    值  │ 按钮选择
  ─────┼─────────────────────
  IDABORT │Abort
  IDCANCEL │Cancel
  IDIGNORE │Ignore
  IDNO   │No
  IDOK   │OK
  IDRETRY │Retry
  IDYES  │Yes
  ─────┴─────────────────────

  最后,这个表已经毫无遗漏地列出了所有的返回值,正在已经完成了对我们第一个Windows程序——单击的逐行分析。

 
0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:21986次
    • 积分:315
    • 等级:
    • 排名:千里之外
    • 原创:9篇
    • 转载:7篇
    • 译文:0篇
    • 评论:1条
    最新评论