windows游戏编程大师技巧--读书笔记1
2006-07-22 10:09
211 查看
图形环境就是描述视频系统和正在绘制表面的数据结构。奇妙的是,如果你需要绘制图形的话,只要获得一个指向图形环境的句柄即可。这便是关于WM_PAINT消息内容。
WM_DESTROY消息实际上非常有意思。WM_DESTROY在用户关闭窗口时被发送。当然仅仅是关闭窗口,而不是关闭应用程序。应用程序继续运行,但是没有窗口。对此要进行一些处理。大多数情况下,当用户关闭主要窗口时,也就意味着要关闭该应用程序。因此,你必须通过发送一个消息来通知系统。该消息就是WM_QUIT。因为该消息经常使用,所以有一个函数PostQuitMessage()来替你完成发送工作。
在WM_DESTROY处理程序中你所要做的就是清除一切,然后调用PostQuitMessage(0)通知Windows终止应用程序。接着将WM_QUIT置于消息队列,这样在某一个时候终止主事件循环。
在我们所分析的WinProc句柄中还有细节应当了解。首先,你肯定注意到了每个处理程序体后面的return(0)。它有两个目的:退出WinPorc以及通知Windows你已处理的信息。第二个重要的细节是默认消息处理程序DefaultWindowProc()。该函数是一个传递Windows默认处理消息的传递函数。因此,如果不处理该消息的话,可通过如下所示的调用来结束你的所有事件处理函数:
//porcess any message that we didn't take card of
return (DefWindowProc(hwnd,msg,wparam,lparam));
我认为代码本身过多并且过于麻烦。然而,一旦你有了一个基本Windows应用程序架构的话,你只要将它复制并在其中添加你自己的代码就行了。正如我所说的那样,我的主要目标是帮助你创建一个可以使用的类DOS32的游戏操作台,并且几乎忘记了任何正在运行的Windows工作。让我们转到下一部分——主事件循环。
WM_DESTROY消息实际上非常有意思。WM_DESTROY在用户关闭窗口时被发送。当然仅仅是关闭窗口,而不是关闭应用程序。应用程序继续运行,但是没有窗口。对此要进行一些处理。大多数情况下,当用户关闭主要窗口时,也就意味着要关闭该应用程序。因此,你必须通过发送一个消息来通知系统。该消息就是WM_QUIT。因为该消息经常使用,所以有一个函数PostQuitMessage()来替你完成发送工作。
在WM_DESTROY处理程序中你所要做的就是清除一切,然后调用PostQuitMessage(0)通知Windows终止应用程序。接着将WM_QUIT置于消息队列,这样在某一个时候终止主事件循环。
在我们所分析的WinProc句柄中还有细节应当了解。首先,你肯定注意到了每个处理程序体后面的return(0)。它有两个目的:退出WinPorc以及通知Windows你已处理的信息。第二个重要的细节是默认消息处理程序DefaultWindowProc()。该函数是一个传递Windows默认处理消息的传递函数。因此,如果不处理该消息的话,可通过如下所示的调用来结束你的所有事件处理函数:
//porcess any message that we didn't take card of
return (DefWindowProc(hwnd,msg,wparam,lparam));
我认为代码本身过多并且过于麻烦。然而,一旦你有了一个基本Windows应用程序架构的话,你只要将它复制并在其中添加你自己的代码就行了。正如我所说的那样,我的主要目标是帮助你创建一个可以使用的类DOS32的游戏操作台,并且几乎忘记了任何正在运行的Windows工作。让我们转到下一部分——主事件循环。
相关文章推荐
- python machine learning 读书笔记1——Mac OS环境搭建技巧
- 读书笔记 - 高效维护数据库的关键技巧
- c++技巧学习笔记(1)
- CS231N 笔记6_卷积神经网络工程实践技巧与注意点
- 《unix环境高级编程》 读书笔记 (2)
- 《unix环境高级编程》 读书笔记 (3)
- CLR via C# 读书笔记1-6
- 读书 文摘 笔记
- 计算机网络组网与配置技术—— 读书笔记1、组网与配置基础知识
- 《Android群英传》学习笔记--ADB命令技巧
- android 笔记——listView应用技巧摘选
- <<More Effective C++>>笔记C++技巧1
- 《unix环境高级编程》 读书笔记 (7)
- Qt界面的一些技巧和实现笔记
- linux内核分析 第八周读书笔记
- java学习笔记_使用浮点数和小数中的技巧和陷阱
- Java并发读书学习笔记(六)——取消与关闭
- Linux控制台切换技巧与任务前后台的切换笔记
- c_c++基础问题(平时读书时笔记)
- Eclipse IDE 使用技巧 (Eclipse工作空间小技巧)(自己的一些学习笔记和心得,记录下来,备忘录和复习使用)