设为首页  
联系我们  
加入收藏  
网页制作 冲浪宝典 图形图像 操作系统 软件教学 编程开发 认证考试 安全技术 站长专区 文学驿站 娱乐天地 游戏天地 办公软件
文章搜索
您的位置: 首页 >> 文章首页 >> 编程开发 >> 游戏开发 >> 《Windows游戏编程大师技巧》(第二版)第2章
精品推荐
游戏开发点击TOP10
·DirectX5.0最新游戏编程指南 DirectDraw教程篇 二、第一个DirectDraw实例
·用Excel编写小游戏
·五子棋的原代码
·游戏开发方面相关的电子书下载
·游戏文件系统的解决方案
·基于LOD的大规模真实感室外场景实时渲染技术的初步研究 part II&III
·用MFC构造DirectX应用框架
·游戏开发开门
·《Windows游戏编程大师技巧》(第二版)第11章
·DirectX8.1的DirectDraw7研究手记(三)
编程开发点击TOP10
·数字小键盘指法练习
·ASP.NET 程序中常用的三十三种代码
·用C语言编通讯录程序(初学者级别的)
·我写的Java学生成绩管理系统源代码
·CHK文件恢复工具
·Modem 常用AT指令集
·java笔试题
·异常java.sql.SQLException: Io exception:The Network Adapter could not establish connection
·单片机模拟I2C总线及24C02(I2C EEPROM)读写实例(源代码)
·C++经典电子书下载
精选专题

《Windows游戏编程大师技巧》(第二版)第2章

作者: 来源:网络文章 时间:2005-12-17 22:39:08

《Windows游戏编程大师技巧》(第二版)第2章(14) WNDCLASS结构中的下一个字段是lpszMenuName。它是菜单资源名称的空值终止ASCII字符串,用于加载和选用窗口。其工作原理将在第3章“高级Windows编程”中讨论。现在我们只需将值设为NULL:
winclass.lpszMenuName = NULL;  // the name of the menu to attach
如我刚提及的那样,每个Windows类代表你的应用程序所创建的不同窗口类型。在某种程度上,类与模板相似,Windows需要一些途径来跟踪和识别它们。因此,下一个字段lpszClassName,就用于该目的。该字段被赋以包含相关类的文本标示符的空值终止字符串。我个人喜欢用诸如“WINCLASS1”、“WINCLASS2”等标识符。你可以自己喜好而定,但应以简单明了为原则,如下所示:
winclass.lpszClassName = "WINCLASS1"; // the name of the class itself
这样赋值以后,你可以使用它的名字来引用这个新的Windows类了,“WINCLASS1”——很酷,是吗?
最后就是小应用程序图标。这是Windows类WNDCLASSEX中新增加的功能,在老版本WNDCLASS中没有。首先,它是指向你的窗口标题栏和Windows桌面任务栏的句柄。你经常会需要装载一个自定义资源,但是现在只要通过LoadIcon()使用一个标准的Windows图标即可实现:
winclass.hIconSm =
LoadIcon(NULL, IDI_APPLICATION); // the handle of the small icon
下面让我们整体回顾一下整个类的定义:
WNDCLASSEX winclass; // this will hold the class we create
// first fill in the window class structure
winclass.cbSize = sizeof(WNDCLASSEX);
winclass.style     = CS_DBLCLKS CS_OWNDC CS_HREDRAW CS_VREDRAW;
winclass.lpfnWndProc = WindowProc;
winclass.cbClsExtra  = 0;
winclass.cbWndExtra  = 0;
winclass.hInstance   = hinstance;
winclass.hIcon       = LoadIcon(NULL, IDI_APPLICATION);
winclass.hCursor     = LoadCursor(NULL, IDC_ARROW);
winclass.hbrBackground    = GetStockObject(BLACK_BRUSH);
winclass.lpszMenuName    = NULL;
winclass.lpszClassName    = "WINCLASS1";
winclass.hIconSm      = LoadIcon(NULL, IDI_APPLICATION);
当然,如果想节省一些打字时间的话,可以像下面这样简单地初始化该结构:
WNDCLASSEX winclass = {
winclass.cbSize = sizeof(WNDCLASSEX),
CS_DBLCLKS CS_OWNDC CS_HREDRAW CS_VREDRAW,
WindowProc,
0,
0,
hinstance,
LoadIcon(NULL, IDI_APPLICATION),
LoadCursor(NULL, IDC_ARROW),
GetStockObject(BLACK_BRUSH),
NULL,
"WINCLASS1",
LoadIcon(NULL, IDI_APPLICATION)} ;
这样真的省去了许多输入!
注册Windows类
现在Windows类已经定义并且存放在winclass中,必须将新的类通知Windows。该功能通过RegisterClassEx()函数,使用一个指向新类定义的指针来完成,如下所示:

1.《Windows游戏编程大师技巧》(第二版)第2章(1)
2.《Windows游戏编程大师技巧》(第二版)第2章(2)
3.《Windows游戏编程大师技巧》(第二版)第2章(3)
4.《Windows游戏编程大师技巧》(第二版)第2章(4)
5.《Windows游戏编程大师技巧》(第二版)第2章(5)
6.《Windows游戏编程大师技巧》(第二版)第2章(6)
7.《Windows游戏编程大师技巧》(第二版)第2章(7)
8.《Windows游戏编程大师技巧》(第二版)第2章(8)
9.《Windows游戏编程大师技巧》(第二版)第2章(9)
10.《Windows游戏编程大师技巧》(第二版)第2章(10)
11.《Windows游戏编程大师技巧》(第二版)第2章(11)
12.《Windows游戏编程大师技巧》(第二版)第2章(12)
13.《Windows游戏编程大师技巧》(第二版)第2章(13)
14.《Windows游戏编程大师技巧》(第二版)第2章(14)
15.《Windows游戏编程大师技巧》(第二版)第2章(15)
16.《Windows游戏编程大师技巧》(第二版)第2章(16)
17.《Windows游戏编程大师技巧》(第二版)第2章(17)
18.《Windows游戏编程大师技巧》(第二版)第2章(18)
19.《Windows游戏编程大师技巧》(第二版)第2章(19)
20.《Windows游戏编程大师技巧》(第二版)第2章(20)
21.《Windows游戏编程大师技巧》(第二版)第2章(21)
22.《Windows游戏编程大师技巧》(第二版)第2章(22)
23.《Windows游戏编程大师技巧》(第二版)第2章(23)
24.《Windows游戏编程大师技巧》(第二版)第2章(24)
25.《Windows游戏编程大师技巧》(第二版)第2章(25)
26.《Windows游戏编程大师技巧》(第二版)第2章(26)
27.《Windows游戏编程大师技巧》(第二版)第2章(27)
28.《Windows游戏编程大师技巧》(第二版)第2章(28)
29.《Windows游戏编程大师技巧》(第二版)第2章(29)
共29页 9 7 [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] [17] [18] [19] [20] [21] [22] [23] [24] [25] [26] [27] [28] [298 :>

《Windows游戏编程大师技巧》(第二版)第2章 相关文章:
《Windows游戏编程大师技巧》(第二版)第2章 相关软件:
特别声明:本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。
转载请注明来源:http://www.xgdown.com