消息机制

让编程改变世界

Change the world by program


内容节选:

我们来回顾一下,窗口是怎么从代码中诞生出来的?

1. 首先我们是通过给 WNDCLASS 窗口类结构各个成员赋值,从大体上定义一个窗口类出来。

2. 将这个窗口类作为参数调用 RegisterClass 函数,这个函数的作用主要是向系统注册窗口类。

3. 注册成功之后我们就可以通过 CreateWindow 生成一个具体的窗口实例,在 CreateWindow 的时候,我们可以设置更多的窗口参数,使得这个窗口实例具备更多的特征……

4. 所以完事后你要调用 ShowWindow 函数把窗口给显示到桌面上,这样我们就可以看到屏幕上有你的窗口了。

那么如果你以为 ShowWindow 只是简单的把窗口显示到桌面上,那你就错了……大家可以稍微点开 【API档案】ShowWindow,其实它的功能还有很多,但暂时我并不打算把大家搞晕,因为 ShowWindows 的更多功能是跟我们后边的知识点挂钩的。

因为不断有朋友在问,所以我这里再跟大家解释下,小甲鱼这里的【API档案】的东西你是不用去专门记住或背起来的,因为里边涉及到很多一辈子你都可能用不到的东西,我这里把这个【API档案】建立起来,主要是为了让大家以后正式编程遇到问题的时候,有地方可以查到相关的详细资料而已。这就跟学英语是一样的,正式的语法没几个,也不难,但真正需要积累的是你的单词量。

5. 接下来是 UpdateWindow,这个函数具有一定的争议,因为有童鞋发现就算我把 UpdateWindow 这个函数给注释掉,程序也可以正常的跑起来,看起来没什么两样。

既然没有什么两样?那为什么还要保留这个函数呢?直接去掉不就得了。留着它干嘛?

不知大家会不会有这样一个习惯,新建一个文件或者返回桌面完了没事就“右键->刷新”一下?其实这里调用这个 UpdateWindow 就是差不多这么一回事。

当然,我们有更充足的理由去保留这个函数,但我希望在给大家介绍完 Windows 的消息机制之后再来揭秘,下一讲里我会尝试使用调试程序的方法来给大家解释这个 UpdateWindow 的重要性。

6. 好,那么接下来就是著名的消息循环,有了这个消息循环,Windows 的消息机制才能够上传下达。

消息机制

..... 此处省略N多内容,具体请看视频讲解 ......

[buy] 获得所有教学视频、课件、源代码等资源打包 [/buy]
[Downlink href='http://kuai.xunlei.com/d/BdsUAwLxHAA3o4RT9bd']视频下载[/Downlink]
[Downlink href='http://urlxf.qq.com/?q67z2iV']备胎下载[/Downlink]

消息机制 - Windows程序设计(SDK)004的更多相关文章

  1. windows程序消息机制(Winform界面更新有关)

    windows程序消息机制(Winform界面更新有关) 转自:http://www.cnblogs.com/blosaa/archive/2013/05/31/3109586.html 1. Win ...

  2. windows程序消息机制(Winform界面更新有关)--转

    1. Windows程序消息机制 Windows GUI程序是基于消息机制的,有个主线程维护着消息泵.这个消息泵让windows程序生生不息. Windows程序有个消息队列,窗体上的所有消息是这个队 ...

  3. window消息机制二

    消息机制 windows是一个消息驱动的系统,会有一个总的系统消息的队列,鼠标.键盘等等都会流入到这个队列中,同时会为每个线程维护一个消息队列(注意默认是有GUI调用的线程才有,对于没有GUI或者窗口 ...

  4. C#中的WinForm的消息机制简述,及消息机制下Invoke,和BeginInvoke的使用和区别

    在Invoke或者BeginInvoke的使用中无一例外地使用了委托Delegate,至于委托的本质请参考我的另一随笔:对.net事件的看法. 一.为什么Control类提供了Invoke和Begin ...

  5. 消息机制2 - Windows程序设计(SDK)005

    消息机制2 让编程改变世界 Change the world by program 内容节选: 关于消息机制,还有三点需要补充: 消息队列是FIFO的形式 WM_PAINT,WM_TIMER 和 WM ...

  6. Windows程序设计2(消息机制、菜单)

    一 .小记; PostQuitMessage(0); 产生WM_QUIT消息给进程队列,且立即返回,同时使得消息循环退出,使得进程终止.(其实它通过PostMessage(hWnd,WM_QUIT,0 ...

  7. Windows消息机制要点

    1. 窗口过程     每个窗口会有一个称为窗口过程的回调函数(WndProc),它带有四个参数,分别为:窗口句柄(Window Handle),消息ID(Message ID),和两个消息参数(wP ...

  8. 转:Windows消息机制要点

    Windows消息机制要点 1. 窗口过程     每个窗口会有一个称为窗口过程的回调函数(WndProc),它带有四个参数,分别为:窗口句柄(Window Handle),消息ID(Message ...

  9. Windows消息机制详解

    消息是指什么?      消息系统对于一个win32程序来说十分重要,它是一个程序运行的动力源泉.一个消息,是系统定义的一个32位的值,他唯一的定义了一个事件,向 Windows发出一个通知,告诉应用 ...

随机推荐

  1. win8.1(64位) apache2.4.3+php5.6.3+mysql5.6安装

    win8.1(64位) apache2.4.3+php5.6.3+mysql5.6安装 http://blog.csdn.net/jiangzeyun/article/details/41676639

  2. Delphi从内存流中判断图片格式(好多相关文章)

    废话不多说了,利用内存流来判断文件的格式,其实判断文件的前几个字节就可以简单的判断这个文件是什么类型的文件,例如jpg文件 是 FFD8 (从低位到高位就要反过来 D8FF 下面都是一样)BMP文件  ...

  3. chrome浏览器测试js函数

    1.直接在console中写入代码 2.既要写函数,又要写执行函数的代码. 不关闭网页,函数能够在内存中存活很久 浏览器都能记住函数. 当然,在其他页面无效.

  4. BZOJ3538: [Usaco2014 Open]Dueling GPS

    3538: [Usaco2014 Open]Dueling GPS Time Limit: 1 Sec  Memory Limit: 128 MBSubmit: 59  Solved: 36[Subm ...

  5. iOS 9之Shared Links Extension(Safari Extensibility)

    金田 (github示例源码) 在之前的Blog中有介绍了关于Safari Extensibility的 Content Blocking部分,详情可以看这里 --- iOS 9之Safari广告拦截 ...

  6. NOI2014题解

    起床困难综合症(BZOJ 3668) 送分题,直接从高位向低位贪心. 魔法森林(BZOJ 3669) 一个容易想到的办法就是枚举A的最大值,以B作为权值求最小生成树.暴力的话要T的.如果从小到大枚举A ...

  7. Python NTLK资料

    1.Creating a new corpus with NLTK http://stackoverflow.com/questions/4951751/creating-a-new-corpus-w ...

  8. Ajax解析

    1.Ajax Asynchronous(异步的) javascript and xml 技术组成: CSS + xml +JavaScript +DOM Ajax核心对象: XmlHttpReques ...

  9. 设计模式(3)-对象创建型模式-Abstract Factory模式

    1.对象创建型模式 1.3           Abstract Factory模式 1.3.1 需求 在下面情况能够使用Abstract Factory模式: •  一个系统要独立于它的产品的创建. ...

  10. Bitmap的一些操作

    1.截取 Bitmap 的部分区域 mBitmap = Bitmap.createBitmap(bmp, 100, 100, 120, 120); 这句代码从 bmp 的 (100,100) 处截取 ...