如何获得对话框的背景颜色

vendy123 2009-07-22 10:14:28
我在OnCtlColor函数设置了对话框的背景颜色,我想在另外一个函数里,获得刚刚设置好的颜色,可是获得的都是(255,255,255),我用GetBkColor(),还有GetSysColor()两个函数都是不行呢,在网上找了很久,也没有一个合理的解答,望高手解答!谢谢!
...全文
212 点赞 收藏 16
写回复
16 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
Orz_wwj 2011-07-08
GetSysColor(COLOR_3DFACE);我试过了,可以用!
回复
vendy123 2009-07-30
非常谢谢,但是在GetPixel(100,5)这个函数里为什么要一定要用具体值在里面呢,我换成point为什么不可以啊,我调试了一下,有些其它的值也是可以获得的?
回复
vendy123 2009-07-30
呵呵,我分全给你了,我总分不多呢,不好意思啊,呵呵,以后多指教,还有一个问题是如何用GetBkColor(),GetTextColor()得到控件的颜色及文本的颜色啊?
回复
vendy123 2009-07-30
其实用GetPixel(point)得到的值和GetPixel(100,5)是一样的,但是提取分量的时候,却得不到,不知道是为什么?
回复
xiaogang_1 2009-07-29
[Quote=引用 6 楼 vendy123 的回复:]
还是要谢谢各位的回答!
[/Quote]

看看这段代码,我试了,可以实现

//获取窗体DC
CDC *pDC = GetDC();

//获取颜色值
COLORREF cr = pDC->GetPixel(100,5);
pDC->SetPixel(100,5, RGB(255, 0, 0)); //这个可以查看你取点的位置
BYTE m_nR = 0,m_nG = 0,m_nB = 0;
//提取RGB分量
m_nR = GetRValue(cr);//R值
m_nG = GetGValue(cr);//G值
m_nB = GetBValue(cr);//B值
ReleaseDC(pDC);

CString str;
str.Format("R = %d,G = %d,B = %d",m_nR, m_nG, m_nB);

MessageBox(str);
回复
wu_qing_yun 2009-07-28
7楼说得很清楚了
回复
vendy123 2009-07-28
why nobody answer me ?? 55555555555555555555!
回复
vendy123 2009-07-28
7楼就是我啊,呵呵,但是实现不了呢!
回复
vendy123 2009-07-27
CPoint point;
GetCursorPos(&point);
//获取窗体DC
CDC *pDC = GetDC();

//获取颜色值
COLORREF cr = pDC->GetPixel(point.x,point.y);

BYTE m_nR,m_nG,m_nB;
//提取RGB分量
m_nR = GetRValue(cr);//R值
m_nG = GetGValue(cr);//G值
m_nB = GetBValue(cr);//B值
这个样子获得的RGB的颜色都还是255啊?
回复
vendy123 2009-07-27
还是要谢谢各位的回答!
回复
vendy123 2009-07-27
我的意思是要获得对话框的颜色,比如一个对话框已经有颜色了,我不知道他的RGB值,我该如何获得呢?我那样说是为了举例而已。代码举例!
回复
wine2015 2009-07-27
帮顶一下.
回复
cutestar 2009-07-22
用GetPixel取窗口上的固定点颜色
回复
pigpy 2009-07-22
用DWORD全局变量保存RGB值,在需要的时候用就可以了。不知道为什么要这样做~~
回复
xiaogang_1 2009-07-22
保存你设置的颜色值啊,然后在别的地方用
回复
liujin1234 2009-07-22
[Quote=引用 1 楼 xiaogang_1 的回复:]
保存你设置的颜色值啊,然后在别的地方用
[/Quote]同意
回复
相关推荐
发帖
界面
创建于2007-09-28

1.5w+

社区成员

VC/MFC 界面
申请成为版主
帖子事件
创建了帖子
2009-07-22 10:14
社区公告
暂无公告