You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何修改Delphi+DevExpress DBGrid默认编辑窗口的颜色?

解决Delphi Tokyo + DevExpress V18 DBGrid就地编辑器颜色覆盖问题

方法1:在OnInitEdit事件中直接修改就地编辑器样式

直接获取激活的编辑器实例,强制设置其颜色并禁用皮肤样式覆盖:

procedure TYourForm.cxGridTableView1InitEdit(Sender: TcxCustomGridTableView;
  AItem: TcxCustomGridTableItem; AEdit: TcxCustomEdit);
begin
  // 设置自定义背景色与字体色
  AEdit.Style.Color := clSkyBlue; // 替换为你需要的背景色
  AEdit.Style.Font.Color := clMaroon; // 替换为你需要的字体色
  // 清空皮肤关联,避免皮肤样式覆盖自定义设置
  AEdit.Style.Skinning.SkinSection := '';
end;

方法2:通过GridView的全局编辑样式设置

无需写代码,直接在设计时配置:

  • 选中cxGrid的TableView,打开Styles属性
  • 展开Editing节点,选择Active样式
  • 在右侧属性面板修改Color(背景色)和Font.Color(字体色)
  • 该样式专门控制编辑状态下单元格的外观,优先级高于默认皮肤

方法3:修改DevExpress皮肤的编辑器高亮样式

如果需要保留皮肤整体风格,仅调整编辑状态颜色:

  • 打开DevExpress Skin Editor(V18版本在安装目录的Tools\Skin Editor下)
  • 加载你当前使用的皮肤(比如Office 2016 Colorful)
  • 在左侧导航栏找到Editors -> InplaceEdit
  • 选择Focused状态,修改其Background和Text颜色
  • 保存皮肤包,在项目中加载修改后的皮肤文件

注意事项

  • 检查是否有其他事件(如OnDrawCell、OnFocus)的代码与编辑样式冲突,避免重复设置导致覆盖
  • 若使用了数据集字段的DisplayStyle,确保未覆盖编辑状态的颜色设置

内容的提问来源于stack exchange,提问作者Antony Masefield

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.15 16:39:56