...get/ change the color of a Systemcolor?

Author: Thomas Stutz

Category: Graphic

procedure TForm1.Button1Click(Sender: TObject);
var
  
SysColor: DWORD;
  Kind: Integer;
  Color: TColor;
begin
  
// clBtnFace Farbe mit der GetSysColor Funktion ermitteln:
  // Get the clBtnFace Color with the GetSysColor function:

  
SysColor := GetSysColor(COLOR_BTNFACE);
  // Show the Color-Constant, Farbe-Konstante anzeigen
  
ShowMessage(ColorToString(TColor(SysColor)));
  // Show the Hex-Value, Hexadezimal-Wert anzeigen
  
ShowMessage(IntToHex((SysColor), 8));

  // Get the clBtnFace Color without the GetSysColor function:
  // clBtnFace Farbe ohne GetSysColor ermitteln:

  // Show the Color-Constant, Farbe-Konstante anzeigen
  
ShowMessage(ColorToString(ColorToRGB(clBtnFace)));
  // Show the Hex-Value, Hexadezimal-Wert anzeigen
  
ShowMessage(IntToHex(ColorToRGB(clBtnFace), 8));

  // Changing a Systemcolor with SetSysColors:
  // Farben ändern mit SetSysColors:

  
Kind  := COLOR_BTNFACE; // Color to change, Zu wechselnde Farbe
  
Color := ClRed; // New Color, neue Farbe
  
SetSysColors(Kind, Kind, Color);
end;


{Note: The SetSysColors function changes the current Windows session only.
      The new colors are not saved when Windows terminates.

Bemerkung:
      Farbänderungen mit SetSysColors werden beim Beenden von Windows nicht
      gespeichert.}

 

printed from
www.swissdelphicenter.ch
developers knowledge base