CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VC/MFC >  基础类

关于ColorDialog的问题

楼主leanacll(小刘)2004-11-03 20:23:55 在 VC/MFC / 基础类 提问

菜单上点击一个按钮,要自动产生一个颜色框  
  (我的工程中没有定义任何关于颜色框的类)  
  void   CDrawDoc::OnColorSetting()    
  {  
  //   TODO:   Add   your   command   handler   code   here  
  ColorDialog   dlg;           //这句好像不对。系统认识ColorDialog    
  .........  
   
   
  }  
  请高手帮忙指点。给出代码 问题点数:30、回复次数:2Top

1 楼lifengyu(凤羽)回复于 2004-11-03 20:26:10 得分 10

CColorDialog   dlg;Top

2 楼alon21(Alon.飘一族)回复于 2004-11-03 20:29:08 得分 20

//使用颜色对话框(CColorDialog)  
  在自定义函数或按钮的事件中添加如下代码:  
   
          COLORREF   colorRef;  
          BYTE   cRValue,   cGValue,   cBValue;  
          int   nCustColorNo;  
          CString   strDisplay;  
          int   nFlags=CC_FULLOPEN|CC_SHOWHELP;  
          CColorDialog   aDlg(RGB(0,255,255),nFlags);  
           
          if(aDlg.DoModal()==IDOK)  
          {//在这里增加用户按了"确定"按钮时的处理  
          colorRef=aDlg.GetColor();  
          cRValue=GetRValue(colorRef);  
          cGValue=GetGValue(colorRef);  
          cBValue=GetBValue(colorRef);  
          strDisplay.Format("数选择的颜色:(%d,%d,%d)",cRValue,cGValue,cBValue);  
          AfxMessageBox(strDisplay);  
   
                  //得到并显示自定义的颜色  
          COLORREF   *pColor=aDlg.GetSavedCustomColors();  
          strDisplay="用户自定义颜色:";  
          CString   strTemp;  
          nCustColorNo=0;  
          for(int   i=0;i<16;i++)  
          {  
          cRValue=GetRValue(pColor[i]);  
          cGValue=GetGValue(pColor[i]);  
          cBValue=GetBValue(pColor[i]);  
          if(   cRValue!=255||  
                  cRValue!=255||  
                  cRValue!=255)  
          {  
                  strTemp.Format("(%d,%d,%d)",cRValue,cGValue,cGValue);  
                  if(nCustColorNo>0)  
                          strDisplay+=",";  
                  strDisplay+=strTemp;  
                  nCustColorNo++;  
          }  
          }  
          AfxMessageBox(strDisplay);  
          }  
          else  
          {//在这里增加用户按了"取消"按钮时的处理  
          }Top

相关问题

  • ColorDialog控件如何使用?
  • 关于ColorDialog的问题?
  • 一个关于colordialog的问题
  • 如何使ColorDialog返回如"#FF0066"的值?
  • 我的winform中有一个colorDialog,如何在click a button时改变colorDialog的位置??
  • 如何通过colordialog选择颜色来设置Canvas.font的颜色?
  • 能否从colordialog继承,并更改部分内容?up有分!
  • winform中通过ColorDialog得到的颜色值如何转换为网页上使用的颜色值?

关键词

  • 用户
  • strdisplay
  • adlg
  • colorref
  • cgvalue
  • crvalue
  • ncustcolorno
  • cbvalue
  • 自定义
  • 按钮

得分解答快速导航

  • 帖主:leanacll
  • lifengyu
  • alon21

相关链接

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

广告也精彩

反馈

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