更改特定dxStatusBar1.Panel中文本的颜色

时间:2014-11-05 23:37:01

标签: delphi devexpress delphi-xe7

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

2 个答案:

答案 0 :(得分: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;

您应该添加一些检查以确保实际分配了画家,如果没有分配,您需要自己绘制背景。

以下是输出的示例。

Colored Panel Picture

答案 1 :(得分:0)

最简单的方法:

  

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