Windows/MFC数据类型

转载 2011年01月20日 09:14:00

  Windows/MFC数据类型 

 
#define FALSE   0           afx.h

#define TRUE    1           afx.h

#define NULL    0           afx.h

typedef void                VOID        winnt.h

 

// 短整型typedef unsigned short

typedef unsigned short      USHORT;     windef.h

typedef unsigned short      WORD;       windef.h

typedef unsigned short      wchar_t

typedef short               SHORT;      winnt.h

 

// 整型typedef  int

typedef int                 BOOL;  // 取值为TRUE or FALSE windef.h

typedef int                 INT; windef.h

typedef unsigned int        UINT; // 定义一个新的Win32数据类型,它会把一个参数强制转换成Windows3.x应用中的16位值 或Win32应用中的32位值windef.h

 

// 长整型typedef long

typedef unsigned long       ULONG;    windef.h

typedef unsigned long       DWORD;    windef.h

typedef DWORD               COLORREF; windef.h

typedef long                LONG;     winnt.h

typedef __int64             LONGLONG; winnt.h

typedef unsigned __int64    ULONGLONG; winnt.h

typedef ULONGLONG           DWORDLONG; winnt.h

 

// 浮点型

typedef float               FLOAT;     windef.h

typedef double              DOUBLE;    wtypes.h

 

// 字符类型typedef char

typedef char                CHAR/CCHAR; winnt.h

typedef unsigned char       UCHAR;      windef.h

typedef unsigned char       BYTE;       windef.h

typedef wchar_t             WCHAR; //声明一个16位的UNICODE字符,用来表示世界上所有已知的书写语言的符号winnt.h

// 指向字符串的指针类型LP*

/*以下为winnt.h的部分内容*/

// UNICODE (Wide Character) types

typedef wchar_t WCHAR;    // wc,   16-bit UNICODE character

typedef __nullterminated WCHAR *NWPSTR, *LPWSTR, *PWSTR;

typedef __nullterminated CONST WCHAR *LPCWSTR, *PCWSTR;

// ANSI (Multi-byte Character) types

typedef CHAR *PCHAR, *LPCH, *PCH;

typedef __nullterminated CHAR *NPSTR, *LPSTR, *PSTR;

// 指向Windows字符串(以空字符结束)的32位指针char*

typedef __nullterminated CONST CHAR *LPCSTR, *PCSTR;

// 指向Windows常字符串(以空字符结束)的32位指针const   char*

// Neutral ANSI/UNICODE types and macros

 

// tchar.h

#ifdef  _UNICODE

typedef wchar_t     _TCHAR;

typedef wchar_t     TCHAR;

#else   /* ndef _UNICODE */

typedef char            _TCHAR;

typedef char            TCHAR;

#endif 

typedef LPWSTR PTSTR, LPTSTR;

// 指向Windows字符串(以空字符结束)的32位指针,用于移植到双字节字符集

LPTSTR   For   Unicode   platforms,it   is   LPWSTR,For   ANSI   and  DBCS   platforms,it   is   LPSTR 

typedef LPCWSTR            PCTSTR, LPCTSTR;

// 指向Windows常字符串(以空字符结束)的32位指针const char* ,用于移植到双字节字符集

LPCTSTR For   Unicode   platforms,it   is   LPCWSTR,For   ANSI   and   DBCS   platforms,it   is   LPCSTR  

typedef LPWSTR LP;

/*以上为winnt.h的部分内容*/

#define __T(x)      x        tchar.h  // ndef _UNICODE

#define _T(x)       __T(x)     tchar.h

#define _TEXT(x)    __T(x)     tchar.h

#define __TEXT(quote) L##quote winnt.h  // r_winnt 

// 以上的_T、__T、_TEXT、__TEXT、L宏使字符串会自动根据工程的版本(ANSI还是UNICODE)进行转化.   使代码不需修改自动适应ASNI和UNICODE版本

typedef WCHAR OLECHAR;                        wtypes.h

typedef /* [wire_marshal] */ OLECHAR *BSTR;   unsigned   short*  wtypes.h

 

// 函数参数、返回值类型

typedef UINT_PTR            WPARAM; // 窗口函数或callback函数的一个参数,在Win16中是16-bit,在Win32中是32-bit windef.h

typedef LONG_PTR            LPARAM; // 32位窗口函数或callback函数的一个参数windef.h

typedef LONG_PTR            LRESULT; // 32位作为窗口函数或callback函数的返回值windef.h

 

// 指向函数的指针类型

typedef int (WINAPI *PROC)();PROC // 指向回调函数的指针

typedef LRESULT (CALLBACK* WNDPROC)(HWND, UINT, WPARAM, LPARAM);

 

// Windows函数调用类型__stdcall

#define CALLBACK    __stdcall   windef.h

#define WINAPI      __stdcall   windef.h

#define WINAPIV     __cdecl     windef.h

#define APIENTRY    WINAPI      windef.h

#define APIPRIVATE  __stdcall   windef.h

#define PASCAL      __stdcall   windef.h

 

typedef void far            *LPVOID; // 指向任意类型的指针windef.h

Win32 API中微软定义的数据类型

Data Types This topic lists the data types most commonly used in the Microsoft Foundation Class Lib...
  • gneveek
  • gneveek
  • 2012年08月13日 13:40
  • 1834

Windows/MFC数据类型

#define FALSE   0           afx.h#define TRUE    1           afx.h#define NULL    0           afx.ht...
  • phunxm
  • phunxm
  • 2009年12月26日 20:01
  • 1655

MFC常用数据类型:

http://blog.csdn.net/dengrk/article/details/1947345 MFC常用数据类型: 1、 UINT   A 16-bit unsigned ...
  • u010530213
  • u010530213
  • 2015年04月11日 11:28
  • 1040

MFC常用数据类型

MFC常用数据类型:1、UINT   A 16-bit unsigned integer on Windows versions 3.0 and 3.1; a 32-bit unsigned inte...
  • dengrk
  • dengrk
  • 2007年12月18日 18:54
  • 1987

MFC数据类型总结

BOOL Boolean值 TRUE/FALSE BSTR 32-bit 字符指针 BYTE 8-bit 整数 未带正负号 COLORREF 32-bit 数值 代表一个颜色值 DWORD 3...
  • u010879420
  • u010879420
  • 2016年10月09日 17:59
  • 123

Windows编程 Win32API中常见的数据类型

Win32API有一套和C\C++基本数据类型不同的数据类型. C\C++语言的数据类型有如下几个缺陷: 数据类型平台相关,在不同平台上,同一个数据类型可能占用不同的空间大小。典型的,在16位系...
  • RitMan
  • RitMan
  • 2015年12月31日 15:20
  • 2437

MFC 数据类型

 BOOL:布尔值,取值为TRUE or FALSE BSTR:32-bit 字符指针 BYTE:8-bit整数,未带正负号 COLORREF:32-bit数值,代表一个颜色值 DWOR...
  • yimengchenxi
  • yimengchenxi
  • 2015年07月15日 22:59
  • 200

在MFC中各种数据类型之间的转换

转载地址:http://blog.csdn.net/bitxinhai/article/details/2292014 CString/string 区别及其转化 ...
  • ljsant
  • ljsant
  • 2016年10月11日 09:05
  • 1277

Windows数据类型探幽——千回百转你是谁?(2)

续表INTint*int→INT32位有符号整数INT_PTRint(_W64 int即__w64 int)*_W64 int→INT_PTR,_W64就是__w64,是为了解决32位与64位编译器的...
  • FantasiaX
  • FantasiaX
  • 2004年03月31日 11:20
  • 5546

从Windows API 到 MFC浅谈

上一篇《一个Demo初识MFC》用一个例程带入对MFC的初探,本篇紧接着上篇,首先对代码进行讲解,然后继续向前进。 《一个Demo初识MFC》代码解析...
  • zhuxipan1990
  • zhuxipan1990
  • 2016年05月10日 08:57
  • 931
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章: Windows/MFC数据类型
举报原因:
原因补充:

(最多只允许输入30个字)