So, hab mir nochmal ein bisschen mehr Mühe gegeben. Der folgende Code erzeugt jetzt eine Statusbar im WindowsXP-Stil.
Die "echte" WinXP-Statusbar hat noch einen 3D-Effekt, aber mir persönlich reicht es so, ...
... weil: man jetzt im Gegensatz zu vorher nicht mehr entweder ganz auf das XP-Design verzichten muss, oder schmierende Komos in Kauf nehmen muss.
Delphi-Quellcode:
unit uTWinXPStatusBar;
interface
uses ComCtrls, Messages, Windows;
type
TWinXPStatusBar =
class(TStatusBar)
procedure WMSize (
var Message: TWMSize);
message WM_SIZE;
end;
implementation
{$R design.res} // die WindowsXP-Manifest-Datei
// frei nach Kamil:
procedure TWinXPStatusBar.WMSize (
var Message: TWMSize);
var
rect: TRect;
begin
inherited;
rect := ClientRect;
InvalidateRect(
handle, @rect, true);
end;
end.
Die Handhabung ist genau gleich der, der original Statusbar.