Chinaunix首页 | 论坛 | 博客
  • 博客访问: 221423
  • 博文数量: 93
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 542
  • 用 户 组: 普通用户
  • 注册时间: 2014-12-09 16:59
文章分类

全部博文(93)

文章存档

2016年(27)

2015年(66)

我的朋友

分类: C#/.net

2016-02-25 16:29:39

1. 用WNDCLASS结构创建一个窗口实例,并指明:

这个窗口的“监听”函数
窗口名
窗口当前所在应用程序的实例句柄

用RegisterClass函数注册这个结构体实例

用CreateWindow函数创建定义好的窗口实例(通过窗口实例名指出创建哪个窗口实例),窗口实例创建好后返回一个句柄,通过这个句柄“操作”
对应的窗口(一个句柄一一对应一个窗口实例或一个窗口实例有一个唯一的句柄,一个窗口实例一一对应一个“监听”函数)


GetMessage函数捕捉所有的“非窗口消息”和对应句柄或当前整个应用程序所有句柄(当其第二个参数为NULL时)的消息,并能够做出
判断(DispatchMessage函数)传给相应的函数处理(若返回值不为0,返回值为0退出循环了,不会传)


2. “监听”函数通过GetMessage函数监听其窗口实例上发生的所有“动作”,具体过程如下:


窗口实例上被点击->产生一个消息,被GetMessage函数捕捉,然后窗口消息被传到窗口实例对应的“监听”函数->“监听”函数对传进来的消息
进行处理->(产生一个非窗口消息,被GetMessage函数捕捉并处理,非窗口消息不会被传给某一个“监听”函数。此时分两种情况,一,返回值为0,退出循环了,消息不传;二,返回值不为0,消息传给系统等其他函数处理)


3. GetMessage函数捕捉所有的“非窗口消息”和对应句柄或当前整个应用程序所有句柄(当其第二个参数为NULL时)的消息,并传给相应的函数处理(若返回值不为0,返回值为0退出循环了,不会传),
消息主要分为两类:“窗口消息”和“非窗口消息”,“窗口消息”传给的函数即窗口实例对应的“监听”函数,“非窗口消息”传给系统等其他函数进行处理


4. DefWindowProc函数必须调用,它将(处理后的)消息传给操作系统,至此,一个完整的消息循环完成

    操作系统提供了应用程序编程接口操作系统API,开发应用程序时所用的开发语言也有写好的库函数,类库等
阅读(1048) | 评论(0) | 转发(0) |
0

上一篇:MediaPlayer基本使用方式

下一篇:未命名

给主人留下些什么吧!~~