LPCTSTR typedef const TCHAR *LPCTSTR;
L表示long指针 为了兼容早期windows系统,没有实际意义。
P表示这是一个指针
C表示这是一个常量
T表示在win32环境里,有一个_T宏
STR表示这个变量是一个字符串(string缩写)
LPCTSTR在win32下等价于const TCHAR*,可以跟CStringW通用
LPBYTE typedef unsigned char FAR * LPBYTE;
COLORREF typedef DWORD COLORREF;
COLORREF用变量值描述颜色时对应下列16进制的形式0x00bbggrr,可以用如下结构体表示
RGB_value struct
{
byte red;
byte green;
byte blue;
byte unused;
};
COLORREF是一个32位整型数值,它代表了一种颜色。可以用RGB宏初始化
如:COLORREF color = RGB(0, 255, 0); 宏内三个参数依次为R,G,B,所以此颜色为绿色
从RGB中获取颜色值的方法:
BYTE r = GetRValue(color);
BYTE g = GetGValue(color);
BYTE b = GetBValue(color);
另外在MFC里可以通过MFC自带文件框读取颜色
CColorDialog colorDialog;
COLORREF color;
if( colorDialog.DoModal() == IDOK )
{
color = colorDialog.GetColor();
}
CStringW str;
BYTE r = GetRValue(color);
BYTE g = GetGValue(color);
BYTE b = GetBValue(color);
str.Format(L"颜色值为红:%d 绿:%d 蓝:%d", r, g, b);
MessageBox(str);