`
luowei31
  • 浏览: 81236 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

VC++中的消息处理

阅读更多

  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程序——单击的逐行分析。

分享到:
评论

相关推荐

    VC++ 消息映射与处理\向其他应用程序(记事本)中发送键盘消息

    在VC++编程中,消息映射与处理是核心概念之一,它们构成了Windows应用程序的基础。本文将深入探讨如何在VC++中实现消息映射,并详细解释如何向其他应用程序,如记事本,发送键盘消息。 首先,理解消息映射。在...

    VC++ 消息框大全

    在VC++编程环境中,消息框是用户界面的重要组成部分,它用于向用户显示简短的信息、询问用户输入或者提供警告。本篇文章将详细讲解如何在VC++ 6.0中使用消息框,以及涵盖各种类型的消息框及其应用源代码。 首先,...

    VC++图像处理软件

    首先,我们来看标题中的"VC++图像处理软件"。VC++提供的MFC(Microsoft Foundation Classes)库,是一个面向对象的类库,能够帮助开发者构建基于Windows的应用程序,包括对话框和图形用户界面(GUI)。在这个项目中...

    VC++键盘与鼠标的消息处理

    【VC++键盘与鼠标的消息处理】是面向对象程序设计(VC++)课程中的一部分,主要讲解如何在Windows环境中处理键盘和鼠标产生的消息。这门课程适用于初学者,旨在帮助他们熟悉键盘消息及其处理方法,以及掌握相关的...

    VC++windows消息大全 message WM_CREATE

    在VC++的Windows编程中,`WM_CREATE`消息是一个至关重要的消息,它是窗口创建过程中的第一步。当应用程序调用`CreateWindow`或`CreateWindowEx`函数创建一个新的窗口时,Windows操作系统会向新创建的窗口发送`WM_...

    VC++通过消息传送数据

    在VC++中,消息传递是实现进程间通信(IPC,Inter-Process Communication)或对象间通信的一种常见方式。本文将详细探讨如何利用VC++通过消息系统来传输数据,特别是涉及网络编程的应用场景。 首先,我们需要了解...

    VC++消息映射与处理\使用定时器显示毫秒级的时间

    在VC++编程中,消息映射与处理是核心机制之一,它使得程序能够响应各种用户交互和系统事件。本文将详细探讨如何利用消息映射和处理来创建一个...通过不断实践和学习,你将能更好地掌握VC++中的消息处理和定时器应用。

    VC++消息映射与处理\使用程序模拟键盘输入

    在VC++编程中,消息映射与处理是构建用户界面的核心技术之一,它允许程序员将特定的用户操作(如点击按钮、键盘输入等)与相应的函数或方法...这不仅加深了对VC++消息处理的理解,也拓宽了我们在用户界面编程中的技能。

    VC++ MFC 图像处理基础

    在VC++和MFC中,可以使用GDI+(Graphics Device Interface Plus)或者OpenCV等库进行图像处理。 1. GDI+:是Windows SDK的一部分,提供了丰富的绘图功能,可以用于读取、显示和修改图像。例如,可以使用Bitmap类...

    VC++中应用OpenCV教程

    2. **消息映射**:在MFC的`.h`和`.cpp`文件中定义消息映射,处理如按钮点击、文件选择等事件,触发图像处理操作。 3. **界面交互**:通过MFC控件(如按钮、对话框)与用户进行交互,获取输入参数或显示结果。 **五...

    VC++消息映射与处理\使用定时器实时显示当前时间

    当`WM_TIMER`消息被触发时,我们需要在消息处理函数中处理它。在前面的消息映射中,我们已经声明了会处理`WM_TIMER`,所以我们需要定义这个函数: ```cpp afx_msg void OnTimer(UINT_PTR nIDEvent); ``` 然后在`...

    vc++自定义消息的例子.zip

    - `vc++自定义消息的例子.rar`:这是一个RAR格式的压缩文件,里面可能包含了一个VC++项目或源代码文件,用于展示如何在VC++环境中实现自定义消息的发送和处理。 通过解压并研究这个例子,你可以更深入地理解VC++中...

    VC++源码—消息循环重载实例

    消息循环重载实例是一个具体的应用场景,旨在演示如何在VC++程序中自定义和扩展标准的消息处理机制。这个实例可能包含了一系列源代码文件,用于展示如何在不同情况下处理消息,从而提供更灵活的控制或实现特定功能。...

    vc++消息和事件大全

    对于自定义的消息处理,开发者可以通过注册消息(`RegisterWindowMessage`函数)来创建新的消息常量,然后在消息映射中定义处理函数。 总之,VC++的消息和事件机制是实现用户界面动态响应和交互的核心。理解这一...

    VC++实现托盘弹出消息窗口

    你需要在你的消息处理函数中为这些消息定义相应的处理代码。 4. **创建弹出消息窗口**:在接收到托盘图标的消息后,你可以使用`CreateWindow`或`CreateDialog`函数创建一个弹出窗口,显示相关信息。窗口的样式、...

    vc++图像批量处理程序

    在这个项目中,开发者使用VC++的MFC(Microsoft Foundation Classes)库来构建用户界面,MFC提供了一套类库,简化了窗口、控件和消息处理等任务。 批量处理是图像处理中的常见需求,特别是在算法测试或自动化工作...

    vc++中的音频

    在这个项目中,我们将探讨如何利用VC++来处理音频文件,实现音频播放功能。 首先,我们需要了解音频文件的格式,常见的有MP3、WAV、WMA等。每种格式都有其特定的编码方式和解码算法。在VC++中,我们通常会依赖于第...

    数字图像处理vc++实现源代码

    在VC++中,可以使用CImage类的Load方法加载图像文件,然后通过CreateWindow或CreateStatic函数创建窗口并使用OnPaint消息处理函数绘制图像。这需要理解GDI+图形设备接口,它提供了绘制线条、填充区域、旋转和缩放...

    VC++中使用Tabctrl的示例代码

    在VC++编程环境中,TabCtrl是一个非常常用的控件,它用于创建多页面用户界面,让用户可以在不同的“选项卡”之间切换,类似于许多软件中的“页面”功能。在本实例中,“VC++中使用TabCtrl的示例代码”是关于如何在...

    VC++利用消息机制在两个EXE程序间通信

    为了接收自定义消息,需要在消息映射表中声明这个消息,并在消息处理函数中进行处理。 例如,发送端可能发送一个消息携带数据,如字符串或整数,接收端接收到消息后,可以从消息参数中提取这些数据,然后显示或者...

Global site tag (gtag.js) - Google Analytics