CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VC/MFC >  基础类

如何获取对话框或者任何CWnd类控件 (比如说:Label控件)的表面的颜色???

楼主sin_sir()2002-04-21 17:55:06 在 VC/MFC / 基础类 提问

急??? 问题点数:80、回复次数:10Top

1 楼zcpro(zcpro)回复于 2002-04-21 17:59:46 得分 10

通过控件ID获得他的窗口句柄,再通过窗口句柄获得他的DC,再通过DC得到他的背景刷子。  
  Top

2 楼sin_sir()回复于 2002-04-21 18:14:07 得分 0

通过窗口句柄获得他的DC   以及   通过DC得到他的背景刷子,分别是什么函数呢??回答完这个马上给分!!Top

3 楼inelm(木野狐)回复于 2002-04-21 18:14:57 得分 10

不知你指的这个控件和你的程序有没有关系?以及你希望的取色方式是什么?Top

4 楼dennisgull(裤子云)回复于 2002-04-21 18:21:23 得分 10

CEdit   *p   =static_cast<CEdit   *>(GetDlgItem(IDC_EDIT1));  
  CDC   *pDc=   p->GetDC();    
  CBrush   *pBrush   =   pDc->GetCurrentBrush();  
  不知道对不对,我MFC不怎么用,呵呵    
  Top

5 楼sin_sir()回复于 2002-04-21 18:54:19 得分 0

to   dennisgull(裤子云):  
  不对:我是过了,这样得到的Brush   是白色的,而控件表面的颜色都是我们所见到的灰色的。  
  我认为   CDC   *pDc=   p->GetDC();   得到的仍然是Device   Context,而不是操作系统显示该控件时的DC   .  
   
  请高手指点。Top

6 楼Julienjut(秋水)回复于 2002-04-21 19:01:40 得分 10

屏幕取点的方式试过没有,不过不值得推荐,太片面了。Top

7 楼dennisgull(裤子云)回复于 2002-04-21 19:39:24 得分 0

用GetBkColor()呢Top

8 楼sin_sir()回复于 2002-04-21 20:25:13 得分 0

其实:  
  GetSysColor(COLOR_WINDOW)  
  CBrush   brush(GetSysColor(COLOR_WINDOW))Top

9 楼inelm(木野狐)回复于 2002-04-22 07:29:55 得分 40

关键在于获得窗口的dc是没有用的,而要用全屏的dc.其实这很简单:  
  RECT   rect;  
  CORLORREF   cr;  
  HDC   hdcScreen;  
   
  hdcScreen=CreateDC(TEXT("DISPLAY"),NULL,NULL,NULL)   ;  
  GetWindowRect(&rect);  
  cr=GetPixel(hdcScreen,rect.x,rect.y);  
  Top

10 楼inelm(木野狐)回复于 2002-04-23 12:50:44 得分 0

sorry,有一点小错误。最后一行应该是:  
  cr=GetPixel(hdcScreen,rect.left+2,rect.top+2);Top

相关问题

  • *********对话框控件**********
  • 对于一个对话框的控件CWnd *p, 怎样得到他在对话框中的ID号? (在线等待)
  • 关于对话框控件的问题?
  • 如何显示控件对话框?
  • 关于对话框控件的问题:(
  • 对话框中的控件问题
  • 对话框的控件的问题
  • VC对话框中的控件就急!!!
  • 关于NMFtp控件错误对话框
  • 对话框中的CComboBox控件?

关键词

  • 控件
  • dc
  • null
  • hdcscreen
  • rect
  • 窗口句柄
  • pdc
  • cr
  • 获得
  • 得到

得分解答快速导航

  • 帖主:sin_sir
  • zcpro
  • inelm
  • dennisgull
  • Julienjut
  • inelm

相关链接

  • Visual C++类图书
  • Visual C++类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo