colorref数组怎么赋值 COLORREF
什么是COLORREF? 我该怎样用它?
COLORREF类型用来描绘一个RGB颜色。其定义如下:
typedef DWORD COLORREF;
typedef DWORD *LPCOLORREF;
COLORREF类型变量值描绘一个颜色时对应于下面16进制的格式:
0x00bbggrr
可以用这样一个结构体来描述。
RGB_value struct
{
byteunused;
byte blue ;
byte green ;
byte red;
};
其中第一字节为 0 而且始终为 0,其它三个字节分别表示蓝色、绿色和红色,刚好和 RGB 的次序相反。这个结构体用起来挺别扭。对于COLORREF,我们通常使用宏RGB对其进行赋值。
宏的定义如下:
COLORREF RGB
(
BYTEbyRed,// red component of color
BYTEbyGreen,// green component of color
BYTEbyBlue// blue component of color
);
COLORREF 是一个 32-bit 整型数值,它代表了一种颜色。你可以使用 RGB 函数来
初始化 COLORREF。例如:
COLORREF color=RGB(0,255,0);
RGB函数接收三个 0-255 数值,一个代表红色,一个代表绿色,一个代表蓝色。在
上面的例子中,红色和蓝色值都为 0,所以在该颜色中没有红色和蓝色。绿色为最大值
255。所以该颜色为绿色。0,0,0 为黑色,255,255,255 为白色。
另一种初始化 COLORREF 的方法如下所示:
CColorDialogcolorDialog;
COLORREF color;
if( colorDialog.DoModal() == IDOK )
{
color = colorDialog.GetColor();
}
这段代码使用了 MFC 中的颜色对话框,它需要文件。
如何从COLORREF中获取RGB分量值:
COLORREF colorrrefRGB =RGB(120,250,110);
BYTE r = GetRValue(colorrrefRGB);
BYTE g =GetGValue(colorrrefRGB);
BYTE b =GetBValue(colorrrefRGB);
更多阅读
指针初始化与指针赋值有什么区别 指针数组赋值
int* p=123; the VC++ will give a error,say:cannot convert from 'const int' to 'int *',Conversion from integral type to pointer type requires reinterpret_cast, C-style cast or function-style cast 当赋值为NULL时,没
二维数组与数组指针的用法 二维数组指针传递
二维数组与数组指针的用法 严格地说,一个指针是一个地址,是一个常量。而一个指针变量却可以被赋予不同的指针值,是变量。但常把指针变量简称为指针。既然指针变量的值是一个地址,那么这个地址不仅可以是变量的地址,也可以是其它数据结构
一维数组的定义、初始化和引用 一维数组初始化为0
一维数组的定义、初始化和引用一维数组的定义、初始化和引用1.一维数组的定义方式为:类型说明符 数组名[常量表达式](1)数组名的命名方法与变量名相同,遵循标识符命名规则;(2)数组是用方括号括起来的常量表达式,不能用圆括号;(3)常量表达式表
perl 删除数组元素Perl中数组的使用 perl 数组元素求和
数组是perl里面一种很是有用的工具。我们可以通过下面的体式格局定义数组:@a=("你好","great","cipher");@b=(1,2,3,4,5,6,7);@b的定义体式格局还可以写成下面的形式:@b=(1..7); #这种体式格局对需要1到10000的初始值当数组真实太重要
VBA数组基础学习
一、数组概念二、数组就是一个列表或者一组数据表。它是由连续可索引的具有相同内在数据类型的元素所组成的集合,数组中每一个元素都具有唯一的索引号。更改其中一个元素并不会影响到其它元素。数组存在内存,可以利用索引号获取该集合