2010. október 15., péntek
How to change the system colours
Problem/Question/Abstract:
How to change the system colours
Answer:
Solve 1:
procedure TMainForm.Button4Click(Sender: TObject);
var
nColorIndex: array[1..2] of integer;
nColorValue: array[1..2] of longint;
begin
nColorIndex[1] := COLOR_ACTIVECAPTION;
nColorIndex[2] := COLOR_BTNFACE;
nColorValue[1] := clBlue; {define the color you want}
nColorValue[2] := clRed; {in that case is the caption bar and button color}
SetSysColors(2, nColorIndex, nColorValue);
PostMessage(HWND_BROADCAST, WM_SYSCOLORCHANGE, 0, 0);
end;
You could have a look into the "Win32 API reference", under the "SetSysColors" section. There, if you directly go to "GetSysColors" you'll get alist of the places where you can change the colors. (e.g taskbar, borders, etc). In your case use COLOR_BACKGROUND and COLOR_DESKTOP.
Solve 2:
procedure TForm1.Button1Click(Sender: TObject);
const
ColCount = 2;
Elements: array[0..ColCount - 1] of Integer = (COLOR_WINDOW, COLOR_WINDOWTEXT);
Colors: array[0..ColCount - 1] of TColorRef = (clBlue, clYellow);
begin
if not SetSysColors(ColCount, Elements[0], Colors[0]) then
RaiseLastWin32Error;
end;
Feliratkozás:
Megjegyzések küldése (Atom)
Nincsenek megjegyzések:
Megjegyzés küldése