Systemfarben ermitteln
Die Windows-API GetSysColor liefert die Farbwerte der Systemfarben. Über einen Parameter wird gesteuert, von welchem Element die Farbe zurückgegeben werden soll.Folgendes Beispiel zeigt, wie Sie die Hintergrundfarbe eines Hint-Fensters ermitteln können und einem anderen Steuerelement übergeben:
procedure TForm1.FormCreate(Sender: TObject); begin Label1.Color:=GetSysColor(COLOR_INFOBK); end;
Die entsprechenden Konstanten finden Sie in der PSDK unter dem Stichwort „GetSysColor“. In Delphi sind sie in der Unit „Windows“ deklariert.Eine Lösung unter .NET sieht so aus:
procedure TWinForm.TWinForm_Load(sender: System.Object; e: System.EventArgs); var color: System.Drawing.Color; begin color := System.Drawing.SystemColors.Info; end;
Bei System.Drawing.SystemColors handelt es sich um eine Klasse, die einige Properties vom Typ des Records „Color“ enthält. Die Property „Info“ bezieht sich beispielsweise auf die Farbe von Hints und entspricht damit der Win32-Konstanten „COLOR_INFOBK“. Weitere Properties sind im MSDN zu finden.Das Record System.Drawing.Color repräsentiert in .NET eine Farbe. So hat es u.a. auch die Properties R, G und B für den RGB-Farbcode.