残念なことに、Delphi2009 はテーマ サービスを適用し、常に Windows システム テーマを使用してスクロールバーを描画します。その結果、スクロールバーの色をカスタマイズできません。
OS システム テーマを変更せずにスクロールバーの色をカスタマイズすることはできますか?
追加: Windows テーマは私の関心事ではありません。TMemo や TStringGrid などの特定のコントロールのスクロールバーの色をカスタマイズしようとしているだけです。
ありがとうございました。
メモのテーマを明示的に無効にするとうまくいきます...
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TMemo=Class(StdCtrls.TMemo)
Procedure CreateWnd;override;
End;
TForm1 = class(TForm)
Memo1: TMemo;
procedure Button1Click(Sender: TObject);
private
{ Private-Deklarationen }
public
{ Public-Deklarationen }
end;
var
Form1: TForm1;
implementation
uses uxTheme;
{$R *.dfm}
{ TMemo }
procedure TMemo.CreateWnd;
begin
inherited;
SetWindowTheme(Handle,'','');
end;
end.