MFC自定义的数据类型
来源:互联网 发布:耳机隔音效果好 知乎 编辑:程序博客网 时间:2024/05/22 01:37
一.MFC中自定义的数据类型对照表
数据类型 意义 FAR 对应于far NEAR 对应于near CONST 对应于const UINT 32位无符号整型,对应于unsigned int BYTE 8位无符号整型,对应于unsigned char WORD 16位无符号整型,对应于unsigned short int DWORD 32位无符号长整型,对应于unsigned long int SHORT 短整型 LONG 32位长整型,对应于long LONGLONG 64位长整型 FLOAT 浮点型,对应于float BOOL Boolean值(TRUE or FALSE即1 或 0) CHAR Windows字符 VOID 任意类型 BSTR 32位字符指针 LPCSTR 32位字符串指针,指向一个常数字符串 LPSTR 32位字符串指针 LPCTSTR 32位字符串指针,指向一个常数字符串,用于移植到Unicode集 LPTSTR 32位字符串指针,用于移植到Unicode集 LPVOID 32位指针,指向一个未定义类型的数据 LPARAM 32位消息参数,作为窗口函数或回调函数(call back)的参数 LPRESULT 32位数值,作为窗口函数或回调函数的返回值 WPARAM 16位或32位数值,作为窗口函数或回调函数的参数 COLORREF 32位数值,代表一个颜色值 PROC 指向回调函数的指针 WNDPROC 32位指针,指向一个窗口函数 HANDLE 对象句柄,其他还有HPEN、HWND、HCURSOR、HDC、HFILE等 LPCRECT 32位指针,指向一个RECT结构的常量 POSITION 一个数值,代表collection对象(例如数组或链表)中的元素位置,常使用于MFC collection classes
二.MFC/windows基本数据类型的定义
windef.h
Abstract:Basic Windows Type Definitions ,included in windows.h
winnt.h
Abstract:This module defines the 32-Bit Windows types and constants that are
defined by NT, but exposed through the Win32 API.
afx.h
Abstract:This is a part of the Microsoft Foundation Classes C++ library.
#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
typedef WCHAR TCHAR, *PTCHAR; 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
#ifdef UNICODE // r_winnt
#ifndef _TCHAR_DEFINED
typedef WCHAR TCHAR, *PTCHAR;
typedef WCHAR TBYTE , *PTBYTE ;
#define _TCHAR_DEFINED
#endif /* !_TCHAR_DEFINED */
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;
#define __TEXT(quote) L##quote // r_winnt
/*以上为winnt.h的部分内容*/
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
//指向函数的指针类型__stdcall
typedef int (WINAPI *PROC)();PROC指向回调函数的指针
typedef LRESULT (CALLBACK* WNDPROC)(HWND, UINT, WPARAM, LPARAM);
WNDPROC指向在应用程序中定义的窗口过程的指针
#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
//Windows句柄类型HANDLE32位的无符号整数,用于标识
窗口句柄 HWND
实例句柄 HINSTANCE
光标句柄 HCURSOR
图标句柄 HICON
位图句柄 HBITMAP
菜单句柄 HMENU
设备描述句柄 HDC
钢笔句柄 HPEN
画刷句柄 HBRUSH
字体句柄 HFONT
文件句柄 HFILE
【参考】
URL:http://www.programfan.com/blog/article.asp?id=33809,《MFC/windows基本数据类型》,phunxm
- MFC自定义的数据类型
- MFC自定义的数据类型
- MFC中自定义的数据类型对照表
- MFC常用的数据类型
- MFC数据类型的转换
- MFC的数据类型
- 使用MFC的CArray自定义数据类型,编译报错的解决方法
- 自定义的数据类型
- MFC数据类型
- MFC数据类型
- MFC数据类型
- MFC数据类型
- MFC 数据类型
- QDataStream传递自定义的数据类型
- 自定义数据类型的序列化
- C++自定义数据类型的转换
- Redis 存储自定义的数据类型
- MFC中各种数据类型的转换
- 使用 jQuery,第 2 部分:构建未来的 Web 应用程序
- Head First C# 中文版 图文皆译 第十一章 page483
- 使用 jQuery,第 2 部分:构建未来的 Web 应用程序
- 《易写易库(EXEK)用户手册》v0.2,PDF格式
- 【转帖】windbg常用命令集
- MFC自定义的数据类型
- 学习顾问高歌老师给初学者的一些建议
- IDC:2012年云计算服务市场将增3倍达420亿
- 【转帖】DDK学习笔记---入门
- PHP的主要基础
- 解决Red Hat Enterprise Linux AS 4 中文乱码问题
- JDK源代码分析聚集篇-------LinkedHashMap(排队不能光图快却不讲次序啊!总有个先来后到吧!)
- Sql Server 日期格式化函数
- Hibernate对substring和cast的支持问题