【摘要】:简单的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数据类型

(续)

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

(续)
(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 常用结构体类型

相关推荐