首页 理论教育Windows数据类型-VC++就业培训宝典MFC视频教程

Windows数据类型-VC++就业培训宝典MFC视频教程

【摘要】:简单的Windows数据类型见表2-2。表2-2 简单的Windows数据类型(续)Windows中定义了一系列的句柄类型,用于操作不同的Windows对象。表2-3 句柄数据类型(续)在Visual C++6.0的源代码窗口中,选中一个Windows数据类型再按<F12>键,可以查看到的数据类型的定义。

刚开始进行Win32开发时,发现一些变量类型似乎在C语言中未曾见过。其实这些变量类型是与C/C++已有的数据类型相近的,是通过C语言的原始类型重新定义而成的。引入这些数据类型的主要目的是为了便于程序员开发Windows应用程序,增强程序的可读性;另一个目的是为了便于代码移植,从16位操作系统升级到32位操作系统的过程中,这些重新定义的数据类型就起了相当重要的作用。

这些重新定义的变量类型就叫作Windows数据类型,主要定义在Windef.h的系统头文件中。当包含了Windows.h或者其他任何Windows头文件时,都会自动包含Windef.h.。简单的Windows数据类型见表2-2。

表2-2 简单的Windows数据类型

978-7-111-46378-8-Chapter02-31.jpg

(续)

978-7-111-46378-8-Chapter02-32.jpg

Windows中定义了一系列的句柄类型,用于操作不同的Windows对象。例如,文件的句柄是HANDLE,窗口的句柄是HWND,绘图对象的句柄是HDC等。句柄是一个指针,指向一个被隐藏了内容的结构体的内存地址。句柄就如同驾驶员的操作手柄,可以让机车前进、后退或者加速、减速一样。在Windows开发过程中,只要获得了对象的句柄就可以随心所欲地操作对应的目标了。句柄数据类型见表2-3。

表2-3 句柄数据类型

978-7-111-46378-8-Chapter02-33.jpg

(续)

978-7-111-46378-8-Chapter02-34.jpg(www.chuimin.cn)

在Visual C++6.0的源代码窗口中,选中一个Windows数据类型再按<F12>键,可以查看到的数据类型的定义。例如,HWND的定义是DECLARE_HANDLE H(WND);而DECLARE_HANDLE的定义如下。

#define DECLARE_HANDLEn(ame)\

struct name##__{int unused;};typedef struct name##__*name

在Visual C++6.0中##代表链接符号的意思,最终HWND的定义的结果如下。

struct HWND__{int unused;};

typedef struct HWND__*HWND;

因此,以上所有句柄的定义还是说明了,句柄指向一个被隐藏了结构的数据区域的指针。常用结构体类型见表2-4。

表2-4 常用结构体类型

978-7-111-46378-8-Chapter02-35.jpg