颜色对话框——选择颜色
显示允许用户选择特定颜色值的模式对话框。 用户可以从一组基本或自定义调色板中选择一种颜色。
可以通过修改对话框用户界面的 RGB 或色调、饱和度、亮度 (HSL) 颜色值来生成颜色值。返回用户选择的颜色的 RGB 值。
颜色框类 选色(长度=36,标志=3)//定义颜色框类变量为选色,结构数据的长度=36,标志=1初始化颜色+2定义颜色 整数 颜色表[16];//自定义颜色阵列 程序段 窗体启动;//以上代码为全局变量,在窗体启动程序段进行赋值 选色.窗口=窗体;//指定颜色对话框的窗口为程序主窗体 选色.数组=@颜色表;//指定对话框的颜色数组为颜色表的指针地址 结束//换到其它地方书写代码 程序段 按钮1_点击;//在按钮1的点击事件里弹出颜色对话框 如果(颜色选框(选色))//如果函数返回真,表示用户选择了一种颜色 {整数 背景=创建画刷(选色.颜色)//用选择的颜色创建一个背景画刷(用来填充窗体背景) 修改类值(窗体,类背景色,背景)//修改窗体的背景颜色为创建的颜色画刷 重绘矩形(窗体,0,1)}//重绘窗体擦除背景,从而显示新的背景色 结束//本例演示创建背景画刷,也可以用来创建画笔
RGB 颜色模型 RGB 模型用于指定显示器和其他发光设备的颜色。 有效的红色、绿色和蓝色值范围为 0 到 255,其中 0 表示最小强度,255 表示最大强度。 下图显示了如何将红色、绿色和蓝色的原色组合在一起以生成四种其他颜色。

颜色 | 16进制 | RGB 值 |
红色 | 0xFF | 0:255.0.0 |
绿色 | 0xFF00 | 0:0.255.0 |
蓝色 | 0xFF0000 | 0:0.0.255 |
青色 | 0xFFFF00 | 0:0.255.255 |
洋红 | 0xFF00FF | 0:255.0.255 |
黄色 | 0xFFFF | 0:255.255.0 |
白色 | 0xFFFFFF | 0:255.255.255 |
黑色 | 0x0 | 0:0.0.0 |
颜色框类
中文名字 | 英文名称 | 长度 | 作用解释 |
颜色框类 | CHOOSECOLOR | 36 | 弹出一个选取颜色的对话框,并得到颜色相关信息。 |
颜色框类 成员表 | |||
---|---|---|---|
中文 | 英文 | 类型 | 作用解释 |
长度 | dwSize | 整数 | 指定这个结构的大小,以字节为单位。 |
窗口 | hwndOwner | 整数 | 拥有对话框的窗口的句柄。可不指定 |
实例 | hInstance | 整数 | 对话框的模块或内存对象的句柄 |
颜色 | rgbResult | 整数 | 返回用户选择的颜色。 |
数组 | lpCustColors | 整数 | 指向一个包含16个值的数组,该数组包含了对话框中自定义颜色的红、绿、蓝(RGB)值。 |
标志 | Flags | 整数 | $100所有颜色;$10回调;$20实例模板;$40忽略模板;2定义颜色;4禁用定义;1初始颜色;8显示帮助;$80只显纯色 |
数据 | lCustData | 整数 | 指定程序自定义的数据,该数据会被系统发送给钩子程序。 |
回调 | lpfnHook | 整数 | 指向CCHookProc钩子程序的指针,该钩子可以处理发送给对话框的消息。 |
模板 | lpTemplateName | 整数 | 指向对话框模板资源名称的字符串 |