29

这里有很多关于 XE2 VCL 样式和按钮、面板、编辑等以及 VCL 样式的自定义颜色的问题。尽管我希望现有的问题涵盖它,但它们并没有……所以 DB Control Grids 似乎是又一个特例。

  1. 在 DB Control Grid VCL 源中,它因此注册了一个样式挂钩: TCustomStyleEngine.RegisterStyleHook( TDBCtrlGrid, TScrollingStyleHook);

  2. 但是,如果您想编写自己的 DB Control Grid VCL 风格的钩子,这不是您的后裔。如果这样做,您会将整个控件绘制成一个非常大的滚动条。

在此处输入图像描述

  1. 那么如何自定义主题数据库控制网格?当您完全禁用主题时,似乎仍然不允许自定义绘制活动行。所以我认为必须为此编写一个自定义子类并覆盖 Paint 方法,再加上编写一个 VCL 样式的钩子类。

  2. 似乎一个人可能主要应该只是使用常规所有者绘制事件 OnPaintPanel 进行自定义,并且添加该事件,如果你没有,修复我看到的最大的 VCL 样式故障,TDBCtrlGrid即它从未使用SelectedColor 并仅将所有内容绘制为纯灰色或其他任何基本颜色。如果有人能证实这一点,或者告诉我,将不胜感激。

4

0 回答 0