先在 Object Inspector 中開啟 StatusBar.Panels 屬性編輯器,將每個 Panel 的 Style 設為 psOwnerDraw(預設 psText 不會觸發 OnDrawPanel)。
procedure TForm1.StatusBar1DrawPanel(StatusBar: TStatusBar;
Panel: TStatusPanel; const Rect: TRect);
begin
Panel.Style := psOwnerDraw; // 可省略,設計時已設定
// 黑底綠字配色
StatusBar.Canvas.Brush.Color := clBlack;
StatusBar.Canvas.Font.Color := clGreen;
StatusBar.Canvas.FillRect(Rect); // 填充背景
// 繪製文字
StatusBar.Canvas.TextRect(Rect, Rect.Left, Rect.Top, Panel.Text);
end;
此設定使狀態列呈現經典終端機風格(黑底綠字),適合監控類、主控台風格應用程式。同理可自訂漸層背景、圖示、進度條等豐富視覺效果。