ここには、XE2 VCL スタイルと、ボタン、パネル、編集などのカスタム カラー、および VCL スタイルに関する多くの質問があります。既存の質問がそれをカバーしていることを願っていますが、そうではありません... したがって、DB コントロール グリッドはさらに別の特殊なケースのようです。
DB Control Grid VCL ソースでは、次のようにスタイル フックを登録します。
TCustomStyleEngine.RegisterStyleHook( TDBCtrlGrid, TScrollingStyleHook);
ただし、独自の DB Control Grid VCL スタイル フックを作成する場合は、この方法を使用する必要はありません。これを行うと、コントロール全体が非常に大きなスクロールバーのように描画されます。
では、DB コントロール グリッドのカスタム テーマを設定するにはどうすればよいでしょうか。テーマを完全に無効にしても、アクティブな行をカスタム ペイントできないようです。したがって、この目的のためには、カスタム サブクラスを作成して Paint メソッドをオーバーライドし、さらに VCL スタイルのフック クラスを作成する必要があると思います。
ほとんどの場合、通常の所有者描画イベント OnPaintPanel を使用してカスタマイズする必要があるようです。そのイベントを追加していない場合、そのイベントを追加すると、私が見た最大の VCL スタイルの不具合が修正され
TDBCtrlGrid
ます。 SelectedColor を使用し、すべてをフラット グレーまたはその他の基本色でペイントします。誰かがそれを確認できるか、そうでなければ教えていただければ幸いです。