野狼地带分享 http://blog.sciencenet.cn/u/huguanhu 踏实做人,认真做事。

博文

OLE_COLOR与COLORREF的区别

已有 7989 次阅读 2009-12-13 16:03 |个人分类:生活点滴|系统分类:科研笔记| OLE_COLOR, COLORREF

OLE_COLORCOLORREF的区别

OLE_COLORCOLORREF都是DWORD类型,但对于COLORREF来说,它的最高一个字节永远是0x00。即如果是红色,对于COLORREF来说是0x000000FF。而OLE_COLOR的最高一个字节有两种情况:0x80 (也就是10000000,最高位是1)或0x00(也就是00000000,最高位是0)。当OLE_COLOR的最高位是0时,它与COLORREF 是相同的,最后三个字节代表RGB,可以相互赋值。例如红色用OLE_COLOR来表示同样是0x000000FF。但当OLE_COLOR的最高位是1 时,它的中间两个字节一定都是0x00,最后一个字节表示的是系统颜色索引值。例如系统定义菜单的颜色索引值是4,所以用OLE_COLOR来表示就是 0x80000004。在VB中,如果你选中一个FORM,在它的属性页中你可以看到它的BackColor属性,你点击下拉框,就可以选择是使用调色板 色还是系统色,调色板色就是对应了OLE_COLOR的高位为0的情况,系统色对应的是OLE_COLOR高位为1的情况。如下图所示:

OLE_COLOR与COLORREF的区别

https://blog.sciencenet.cn/blog-83029-278293.html

上一篇:《走西口》田家大院的祖训
下一篇:On Attending Conferences【转载】
收藏 IP: .*| 热度|

0

发表评论 评论 (0 个评论)

数据加载中...

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-4-26 05:07

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部