如何在Delphi 11.3设计时为Object Inspector添加自定义Web颜色调色板?
Delphi 11.3 自定义设计时颜色下拉列表解决方案
方法一:通过设计时包注册自定义颜色
这是最稳定的长期方案,可独立保留自定义调色板且不干扰IDE默认配置:
- 创建新的设计时包(
File -> New -> Package) - 在包的单元中定义颜色常量并完成注册:
unit CustomColorReg; interface uses DesignIntf; procedure Register; implementation const // 自定义命名颜色 clMyPrimary = $FF2563EB; clMySecondary = $FF10B981; procedure Register; begin // 注册到自定义分组,第三个参数为分组显示名称 RegisterColor(clMyPrimary, 'My Primary Blue', 'Custom Palette'); RegisterColor(clMySecondary, 'My Secondary Green', 'Custom Palette'); // 注册指定Web颜色到独立分组 RegisterColor(clWebSlateBlue, 'Slate Blue', 'Web Colors'); RegisterColor(clWebPink, 'Pink', 'Web Colors'); end; end.
- 编译包并安装到IDE(右键包 ->
Install),重启Delphi后,颜色下拉列表会新增你定义的分组和颜色。
方法二:手动修改IDE颜色配置文件
适合快速添加颜色,无需编写代码:
- 打开Delphi配置目录,路径示例:
C:\Users\<你的用户名>\AppData\Roaming\Embarcadero\BDS\22.0 - 找到并编辑
ColorPalette.xml文件,在现有分类后添加自定义分类:
<Category Name="Custom Palette"> <Color Name="My Primary Blue" Value="FF2563EB" /> <Color Name="My Secondary Green" Value="FF10B981" /> </Category> <Category Name="Web Colors"> <Color Name="Slate Blue" Value="FF6A5ACD" /> <Color Name="Pink" Value="FFFFC0CB" /> </Category>
- 保存文件后重启IDE,自定义颜色会出现在下拉列表中。
主题僵化与故障解决
- 避免主题冲突:将自定义颜色放在独立分组,不要修改IDE默认主题的颜色条目,防止主题切换时出现异常。
- 包故障排查:若安装包后IDE异常,先卸载该包,检查代码中是否重复注册颜色常量或引用错误单元。
- Web颜色一致性:使用Delphi内置的
clWeb*系列常量(如clWebSlateBlue),而非手动输入RGB值,确保颜色匹配标准Web色。
内容的提问来源于stack exchange,提问作者Khorkhe
相关产品推荐
相关产品推荐

