Hallo,
ja daran lag es u.a.
vielleicht braucht ja jemand auch die Lösung unten.
Der Bereichsfehler kam daher, dass ich immer
RGB-Werte erzeugen wollte,
das SetTextColor klappt aber auch mit den TColor-Werten direkt.
Delphi-Quellcode:
unit Unit101;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm101 =
class(TForm)
CheckBox1: TCheckBox;
CheckBox2: TCheckBox;
procedure FormCreate(Sender: TObject);
private
{ Private-Deklarationen }
procedure WMCTLColor(
var msg: TWMCtlColorStatic);
message WM_CTLCOLORSTATIC;
public
{ Public-Deklarationen }
end;
var
Form101: TForm101;
implementation
{$R *.dfm}
uses
UxTheme;
{ TForm101 }
procedure TForm101.FormCreate(Sender: TObject);
begin
SetWindowTheme(CheckBox2.Handle, '
', '
');
// SetWindowTheme(CheckBox2.Handle, nil, nil); ist falsch !
end;
procedure TForm101.WMCTLColor(
var msg: TWMCtlColorStatic);
begin
inherited ;
if msg.ChildWnd=CheckBox2.Handle
then
begin
SetTextColor(Msg.ChildDC,clRed);
end;
end;
end.