您所在的位置:读书频道 > 设计开发 > 其它开发 > 2.1 编写一个真正的Windows程序

2.1 编写一个真正的Windows程序

2011-03-02 18:50 陈征/傅鑫 等译 机械工业出版社 字号:T | T
一键收藏,随时查看,分享好友!

《游戏编程入门(原书第3版)》第2章侦听Windows消息,本章将更详细地学习Windows消息机制和主循环,并编写一个完整的能够在屏幕上显示一些内容的窗口程序。将学习窗口句柄和设备环境如何一起在窗口上产生输出。本章继续探究实时游戏循环,尤其是获得WinMain之外的实时循环的方法。我们将在本章学到一些新的技巧,以便让实时循环运行,为下一章的DirectX做准备。本节为大家介绍编写一个真正的Windows程序。

AD:

第2章 侦听Windows消息

第1章简要地讲解了WinMain和WinProc并且演示了一个简单的Windows程序。本章将更详细地学习Windows消息机制和主循环,并编写一个完整的能够在屏幕上显示一些内容的窗口程序。将学习窗口句柄和设备环境如何一起在窗口上产生输出。我们将借此巩固所掌握的基础Windows编程模型,也将对Windows GDI(图形设备接口)稍作介绍,了解为什么它更适合于应用程序而不是游戏(对于游戏我们有DirectX!)的原因。本章继续探究实时游戏循环,尤其是获得WinMain之外的实时循环的方法。我们将在本章学到一些新的技巧,以便让实时循环运行,为下一章的DirectX做准备。在学习完本章之后,我们将学到编写能够驱动本书其余代码的游戏循环的方法。所以,一定要集中注意力!

本章将学到:

如何创建窗口。

如何在窗口上绘制文本。

如何在窗口上绘制像素点。

WM_PAINT事件在WinProc回调函数中如何工作。

如何创建实时游戏循环。

如何在WinMain中调用其他与游戏有关的函数。

如何使用PeekMessage函数。

如何使用GDI绘制位图。

2.1 编写一个真正的Windows程序

好了,让我们使用上一章所学的新知识来编写一个稍微复杂一点的程序,让它实际创建一个标准窗口并在这个窗口上绘制文本和图形,如图2-1所示。我们在上一章写的第一个程序是个蹩脚的程序!现在我们要写一些真正的Windows代码。似乎很简单,对吧?是,的确是。在窗口上绘图需要许多起始代码,我们通过示例来学习。

创建一个名为WindowTest的Win32项目并在项目中添加新的main.cpp文件。这里先将一个功能更完备的Windows程序的完整代码列出来,然后再对这个程序做反向工程并一行一行详细地讲解。在键入代码时可试着边键入边理解。如果不想键入程序,那么可从CD-ROM中的\sources\chapter02\WindowTest打开项目。

建议 提醒:设置Visual C++的方法可参阅附录A。创建及配置新项目的方法不在这里赘述。

每章都包括一个准备好的、带有名为main.cpp的空白C++文件的Visual C++项目,以便读者在创建新项目时快速打开并使用。建议读者在学习每章内容时,为每个要创建的新项目制作一个示例项目文件夹的副本。

 
图2-1 WindowTest程序
在编译运行程序之后,应该看到如图2-1所示的输出。不知道如何编译程序吗?没问题,我来告诉你。最简单的方法就是按F5键来生成并运行程序(假设没有错误)。如果只想编译代码,那么按Ctrl+Shift+B组合键(生成)。这是对代码进行测试的“专业”方法—先生成,确认没有错误后再按F5键来运行。这些动作也可通过Build菜单和Debug菜单来执行。
 
 
 
 
好了,这是WindowText程序的完整清单,是我们的第一个完整的Windows程序,它能够显示一个标准的程序窗口。现在,我们对其做反向工程,看看Windows程序是如何工作的。
【责任编辑:云霞 TEL:(010)68476606】

回书目   上一节   下一节

分享到:

关于的更多文章
深入浅出 Linux命令行札记

Linux命令行吸引了大多数Linux爱好者。一个正常的Linux用户一般[详细]

  1. Linux服务器配置全程实录
  2. 揭秘--优秀PPT这样制作

热点职位

更多>>

热点专题

更多>>

读书

信息安全风险评估
信息安全风险评估理论研究日趋成熟,相关资料比较充分,但有关评估实际工作的参考资料很少。本书以信息安全风险评估实践为基础,

51CTO旗下网站

领先的IT技术网站 51CTO 领先的中文存储媒体 WatchStor 中国首个CIO网站 CIOage 中国首家数字医疗网站 HC3i