1

如何更改特定 dxStatusBar1.Panel 的文本颜色?dxStatusBar 是 Devexpress 的 VCL 组件。

4

2 回答 2

1

面板有一个 OnDrawPanel 事件。可能最简单的方法是挂钩该事件,然后按照您的喜好绘制面板。像这样的东西:

procedure TFormTest.dxStatusBar1Panels1DrawPanel(Sender: TdxStatusBarPanel;
    ACanvas: TcxCanvas; const ARect: TRect; var ADone: Boolean);
begin
  Sender.PanelStyle.Painter.FillBackground(dxStatusBar1, Sender, ACanvas, ARect);
  ACanvas.Font.Color := clBlue;
  ACanvas.DrawText(Sender.Text, ARect, cxSingleLine or cxAlignVCenter or cxAlignLeft);
  ADone := True;
end;

您应该添加一些检查以确保实际分配了画家,并且在未分配的情况下,您需要自己绘制背景。

下面是一个输出示例。

彩色面板图片

于 2014-11-06T00:05:24.647 回答
0

最简单的方法:

dxStatusBar1.Panels[0].PanelStyle.Font.Color :=clRed;

于 2017-01-14T11:57:41.500 回答