遗憾的是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.