1

残念なことに、Delphi2009 はテーマ サービスを適用し、常に Windows システム テーマを使用してスクロールバーを描画します。その結果、スクロールバーの色をカスタマイズできません。

OS システム テーマを変更せずにスクロールバーの色をカスタマイズすることはできますか?

追加: Windows テーマは私の関心事ではありません。TMemo や TStringGrid などの特定のコントロールのスクロールバーの色をカスタマイズしようとしているだけです。

ありがとうございました。

4

1 に答える 1

3

メモのテーマを明示的に無効にするとうまくいきます...

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.
于 2013-02-04T17:02:59.857 に答える