我想在我的首选项对话框中添加一个颜色选择器,就像mspaint一样。
这可能与MFC有关吗?我正在使用VC6,因为很久以前项目已经启动了,现在它无法移植,所以我不能使用新的MFC类。
答案 0 :(得分:1)
这个难题有几个部分。首先是多行工具栏般的功能。第二个是单击“编辑颜色”时调用的颜色选择器。
第一个可以使用多行工具栏模仿(在某种程度上)。我好像记得VC6的CToolBar在多行工具栏上存在一些问题,但是我不确定是否可以在服务包中修复它(它看起来可能有点,但我不记得了)
如果你不喜欢它(它看起来不像原版),那么你将很难创建自己的控件并将其放入CToolBar中。只要您只是想完全按模仿控件,那就不会非常困难 - 您基本上会将控件传递给一组颜色数字,当有点击时,它会发送一条通知消息使用所选的颜色编号(或颜色编号的索引,如果您愿意)。只要你坚持使用固定的布局,数学就很容易了,但是如果你想支持改变布局,那么匆忙就会变得更加困难。
对于第二部分,一个好的起点可能是Hans Deitrich的XColorSpectrumCtrl
。
答案 1 :(得分:0)
绝对可能。但是,除非您可以找到一些现有代码,否则您可能需要自己实现所有者绘制以获得此外观。
我没有使用颜色选择器控件CMFCColorPickerCtrl
。但我不相信它能满足您的需求。