wndclass.hbrBackground=(HBRUSH)GetsotckObject(WHITE_BRUSH);
请问这里为什么要有一个强制类型转换呢?
另外,TEXT宏的用途究竟是什么呢?
2 个解决方案
#1
TEXT宏是一个与UNICODE有关的宏
#ifdef _UNICODE
#define __T(x) L##x
#define _T(x) __T(x)
#define _TEXT(x) __T(x)
#define TEXT(x) _TEXT(x)
......
这是VC对宏的定义,详见Windows程序设计第二章。
#ifdef _UNICODE
#define __T(x) L##x
#define _T(x) __T(x)
#define _TEXT(x) __T(x)
#define TEXT(x) _TEXT(x)
......
这是VC对宏的定义,详见Windows程序设计第二章。
#2
1、HGDIOBJ GetStockObject(int fnObject )函数返回的是HGDIOBJ ,所以要强制类型转换成HBRUSH。
2、TEXT宏是一个与UNICODE有关的宏,UNICODE提供了一种简单而又一致的表示字符串的方法。UNICODE字符串中的所有字符都是16位的(两个字节)。由于UNICODE用一个1 6位的值来表示每个字符,因此总共可以得到65 000个字符,这样,它就能够对世界各国的书面文字中的所有字符进行编码,远远超过了单字节字符集的2 5 6个字符的数目。
2、TEXT宏是一个与UNICODE有关的宏,UNICODE提供了一种简单而又一致的表示字符串的方法。UNICODE字符串中的所有字符都是16位的(两个字节)。由于UNICODE用一个1 6位的值来表示每个字符,因此总共可以得到65 000个字符,这样,它就能够对世界各国的书面文字中的所有字符进行编码,远远超过了单字节字符集的2 5 6个字符的数目。
#1
TEXT宏是一个与UNICODE有关的宏
#ifdef _UNICODE
#define __T(x) L##x
#define _T(x) __T(x)
#define _TEXT(x) __T(x)
#define TEXT(x) _TEXT(x)
......
这是VC对宏的定义,详见Windows程序设计第二章。
#ifdef _UNICODE
#define __T(x) L##x
#define _T(x) __T(x)
#define _TEXT(x) __T(x)
#define TEXT(x) _TEXT(x)
......
这是VC对宏的定义,详见Windows程序设计第二章。
#2
1、HGDIOBJ GetStockObject(int fnObject )函数返回的是HGDIOBJ ,所以要强制类型转换成HBRUSH。
2、TEXT宏是一个与UNICODE有关的宏,UNICODE提供了一种简单而又一致的表示字符串的方法。UNICODE字符串中的所有字符都是16位的(两个字节)。由于UNICODE用一个1 6位的值来表示每个字符,因此总共可以得到65 000个字符,这样,它就能够对世界各国的书面文字中的所有字符进行编码,远远超过了单字节字符集的2 5 6个字符的数目。
2、TEXT宏是一个与UNICODE有关的宏,UNICODE提供了一种简单而又一致的表示字符串的方法。UNICODE字符串中的所有字符都是16位的(两个字节)。由于UNICODE用一个1 6位的值来表示每个字符,因此总共可以得到65 000个字符,这样,它就能够对世界各国的书面文字中的所有字符进行编码,远远超过了单字节字符集的2 5 6个字符的数目。