专注收集记录技术开发学习笔记、技术难点、解决方案
网站信息搜索 >> 请输入关键词:
您当前的位置: 首页 > VC

WNDCLASS的有关问题

发布时间:2011-06-23 14:09:59 文章来源:www.iduyao.cn 采编人员:星星草
WNDCLASS的问题。
我在VC编译器里找到了这个。
#ifdef UNICODE
typedef WNDCLASSW WNDCLASS;
typedef PWNDCLASSW PWNDCLASS;
typedef NPWNDCLASSW NPWNDCLASS;
typedef LPWNDCLASSW LPWNDCLASS;
#else
typedef WNDCLASSA WNDCLASS;
typedef PWNDCLASSA PWNDCLASS;
typedef NPWNDCLASSA NPWNDCLASS;
typedef LPWNDCLASSA LPWNDCLASS;
#endif // UNICODE


然后我继续找下去。
typedef struct tagWNDCLASSA {
  UINT style;
  WNDPROC lpfnWndProc;
  int cbClsExtra;
  int cbWndExtra;
  HINSTANCE hInstance;
  HICON hIcon;
  HCURSOR hCursor;
  HBRUSH hbrBackground;
  LPCSTR lpszMenuName;
  LPCSTR lpszClassName;
} WNDCLASSA, *PWNDCLASSA, NEAR *NPWNDCLASSA, FAR *LPWNDCLASSA;

typedef struct tagWNDCLASSW {
  UINT style;
  WNDPROC lpfnWndProc;
  int cbClsExtra;
  int cbWndExtra;
  HINSTANCE hInstance;
  HICON hIcon;
  HCURSOR hCursor;
  HBRUSH hbrBackground;
  LPCWSTR lpszMenuName;
  LPCWSTR lpszClassName;
} WNDCLASSW, *PWNDCLASSW, NEAR *NPWNDCLASSW, FAR *LPWNDCLASSW;

我在MSDN上找到的、

typedef struct _WNDCLASS { 
  UINT style; 
  WNDPROC lpfnWndProc; 
  int cbClsExtra; 
  int cbWndExtra; 
  HINSTANCE hInstance; 
  HICON hIcon; 
  HCURSOR hCursor; 
  HBRUSH hbrBackground; 
  LPCTSTR lpszMenuName; 
  LPCTSTR lpszClassName; 
} WNDCLASS, *PWNDCLASS; 

这是为什么呢?

------解决方案--------------------
这是字符集的区别,MSDN 上只介绍一个通用的,实际库对不同的字符集有两个版本 UNICODE 和 多字符,也就是 tagWNDCLASSW 和 tagWNDCLASSA。编译器会根据你在项目属性中设置的不同的字符集选择对应的版本,不只是这个类,好多对象都是这样的,如CString等等。
友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。

其他相似内容:

热门推荐: