扩展颜色对话框

(1) 参数

typedef struct {
  DWORD    lStructSize;
  HWND     hwndOwner;
  HWND     hInstance;
  COLORREF   rgbResult;
  COLORREF  * lpCustColors;
  DWORD    Flags;
  LPARAM    lCustData;
  LPCCHOOKPROC lpfnHook;
  LPCTSTR   lpTemplateName;
} CHOOSECOLOR, *LPCHOOSECOLOR;

(2) API函数

BOOL ChooseColor(
  LPCHOOSECOLOR lpcc  // initialization data
);

(3) 回调函数,用于处理消息

UINT_PTR CALLBACK CCHookProc(
  HWND hdlg,   // handle to dialog box
  UINT uiMsg,   // message identifier
  WPARAM wParam, // message parameter
  LPARAM lParam  // message parameter
);

方法:

(1)、填写结构体:

COLORREF retColor = RGB( 255,0,0);
COLORREF cusColor[16];
memset( cusColor, 0, sizeof( COLORREF) * 16 ); CHOOSECOLOR cc = {
  sizeof( CHOOSECOLOR ),
  m_hwndParent, // 父窗口啦,设置为NULL的话,就是桌面了
  NULL, // 一个句柄,没用到,详看MSDN
  retColor, // 如果设置了CC_RGBINIT 就是初始的颜色值了,同时它作为返回值,返回所选择的颜色
  cusColor, // 初始的自定义颜色数组,设置为NULL的话,会出错,不设置的话,好像就是随机值了,我把它都清理成0了
  CC_RGBINIT|CC_FULLOPEN | CC_ENABLEHOOK | CC_ANYCOLOR, // 红色为设置自己的消息处理函数
   NULL,
  (LPCCHOOKPROC)MyCCHookProc, // 使用自定义的消息处理函数
  NULL
  };

(2)、调用

ChooseColor( &cc ); // 点击"确定"返回 TRUE, 否则返回 FALSE

时间: 2024-11-18 01:24:29

扩展颜色对话框的相关文章

C#颜色对话框(ColorDialog)

一.颜色对话框(ColorDialog)的常见属性AllowFullOpen 禁止和启用"自定义颜色"按钮 FullOpen 是否最先显示对话框的"自定义颜色"部份 ShowHelp 是否显示"帮助"按钮 Color 在对话框中显示的颜色 AnyColor 显示可选择任何颜色 CustomColors 是否显示自定义颜色 SolidColorOnly 是否只能选择纯色 二.实现代码见下: private void colorDialogBTN_C

MFC 颜色对话框 字体对话框 WM_CTLCOLOR消息总结

      1.     颜色对话框         CHOOSECOLOR  结构体来设置获取颜色对话框的相关信息      成员变量m_cc     m_cc.rgbResult  在IDOK之后保存的是选择的颜色RGB值            COLORREF choose_color;     CColorDialog  dlg;  //创建颜色对话框     dlg.m_cc.Flags|=CC_RGBINIT ;//以用户选择的颜色进行初始化颜色打开对话框    dlg.m_cc.F

对话框-OnCtlColor函数关于颜色调用的问题

问题描述 OnCtlColor函数关于颜色调用的问题 OnCtlColor函数怎么保存CColorDiaog对话框设置的对话框?我不希望它每次都调用.谢谢 解决方案 void CApp2Dlg::OnButton1() { // TODO: Add your control notification handler code here CColorDialog colorDia; if (colorDia.DoModal() == IDOK) { m_color = colorDia.GetCo

C# winform对话框用法大全收藏

  对话框中我们常用了以下几种: 1.文件对话框(FileDialog) 它又常用到两个: 打开文件对话框(OpenFileDialog) 保存文件对话(SaveFileDialog) 2.字体对话框(FontDialog) 3.颜色对话框(ColorDialog) 4.打印预浏对话框(PrintPreviewDialog) 5.页面设置(PrintDialog) 6.打印对话框(PrintDialog) 还有更多,有时间的网友可以看看MSDN.下面我们一个个来介绍.在介绍的过程中我用到了一个自

积累的VC编程小技巧之对话框

1.用鼠标移动基于对话框的无标题栏程序的简单方法 void CVCTestDlg::OnLButtonDown(UINT nFlags, CPoint point) {    //一句话解决问题     SendMessage(WM_SYSCOMMAND,0xF012,0);    CDialog::OnLButtonDown(nFlags, point);}   2.对话框消息映射 有对话框A,B从A中发消息给B然后B处理.准备工作,先定义消息,如下#define WM_B_NOTIFY WM

教你怎么改PPT超链接颜色

  很多时候我们需要更改PPT中的超链接颜色,由于在PowerPoint中,超链接未被访问默认颜色为淡紫色,已被访问的颜色是浅灰色,幻灯片背景颜色与超级链接的颜色有时候相同或相近,这样看起来就不太显眼,不易辨认.那么怎么改PPT超链接颜色呢? 我们可以通过以下几步来实现. 以下面一张幻灯片为例,我们可以在幻灯片中添加一个超链接来增加点击效果. 第1步 单击"插入"选项卡的"文本框"按钮,在弹出的下拉列表中单击"横排文本框"选项,如下图: 图1 第

VB用API实现各种对话框(总结)

对话框 各种对话框(总结) ''标准对话框(SmDialog)'Option Explicit''定义一个全局变量,用于保存字体的各种属性Public Type SmFontAttr FontName As String '字体名 FontSize As Integer '字体大小 FontBod As Boolean '是否黑体 FontItalic As Boolean '是否斜体 FontUnderLine As Boolean '是否下划线 FontStrikeou As Boolean

控制VC++.NET中WEB对话框的HTML元素属性

c++|web|对话框|控制 VC++.NET一个令人耳目一新的特性就是基于动态HTML的WEB对话框,它使得桌面程序界面和功能变得更容易实现.这里将对WEB对话框中HTML元素的CSS属性控制作探讨. 一.在HTML编辑器中设置元素的CSS属性 CSS最早出现于1996年,全称为:层叠样式表(Cascading Stylesheets).由于它在字体.样式.风格等方面的突出表现使它迅速在网页制作中流行起来.它可以精确控制页面文字效果,最重要的是很多浏览器和平台都支持它,而且编码简短,页面下载快

如何为Word 2013文档设置单色背景颜色

页面背景是指显示于Word2013文档最底层的颜色或图案,用于丰富Word2013文档的页面显示效果.在Word2013文档中设置单色页面背景的步骤如下所述: 第1步,打开Word2013文档窗口,切换到"设计"选项卡. 第2步,在"页面背景"分组中单击"页面颜色"按钮,并在打开的页面颜色面板中选择"主题颜色"或"标准颜"中的特定颜色,如图2013072711所示. 图2013072711 "页面