tag 标签: tstatusbar

相关博文
  • 热度 22
    2013-11-20 23:10
    1876 次阅读|
    0 个评论
      不管是在Delphi或Lazarus中状态栏内的文字在设计时是无法修改其颜色,字体大小等等字体属性的,只能使用其默认的字体属性!那么当我们不想用其默认的黑白颜色时,要怎样去修改呢? 下面说说修改的具体步骤,网上查阅方法基本上都是通过TStatusBar的OnDrawPanel事件对其进行重绘,因为在重绘事件中有Canvas属性,此属性里就具有相关的字体属性设置。由于网上只说了思路,具体实现起来对于新手来说可能还有些困难。下面是网上的原话: 首先:   确定Panels 的 Sytle 是否为:psOwnerDraw    其次:   在statusbar控件单击 ondrawpanel事件   写如下代码   StatusBar.Canvas.Font.Color:=clGreen; 改成自己所要的颜色   StatusBar.Canvas.TextRect(Rect, Rect.Left, Rect.Top, Panel.Text);   我说说调用部分,直接上代码吧,好理解些! var  nRect : TRect;    procedure TForm1.FormCreate(Sender: TObject); begin    nRect.Left := 0; // 初始化矩形区域大小    nRect.Top := 198; // Record类型的变量不能在定义时直接赋初值,要单独引用其域进行赋值!    nRect.Bottom := 0;    nRect.Right := 0;    StatusBar1DrawPanel(StatusBar1,StatusBar1.Panels.Items ,nRect); // 注意此处第三个形参是需要实参为TRect类型的,需要自己根据TStatusBar大小构造一个 end;