delphI 5中的STATUSBAR 控件怎么改变字体大小和颜色呢?

时间:2021-01-23 19:39:20
我FONT中改了一下,结果不起作用,不知为什么,请大家指教。

5 个解决方案

#1


改变大小是有效的,改变颜色没效果

#2


首先, 启动 Statusbars.Panels 的属性编辑器(从 Object Inspector 中, 点一下 Panels 属性右边的'...'小按钮), 确定各 Panels 的 Sytle 是否为: OwnerDraw (若为 Text, 则 OnDrawPanel 事件不会有作用的).

其次 

procedure TForm1.StatusBar1DrawPanel(StatusBar: TStatusBar;
  Panel: TStatusPanel; const Rect: TRect);
begin
    Panel.Style:=psOwnerDraw;  // 这行可以去掉

//    StatusBar.Canvas.Brush.Color:=clGreen;
//    StatusBar.Canvas.Font.Color:=clBlack;

//  如果如您的标题 -- 黑底绿字, 那是不是应该改成 --
    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;

#3


谢谢楼上老兄,我关键是想把字体的大小变大些,总也实现不了,上面老哥说的改不了字体大小。

#4


lion_lh(xmanx)已经告诉你具体的做法了!你应该好好体会一下他的思路!

procedure TForm1.StatusBar1DrawPanel(StatusBar: TStatusBar;
  Panel: TStatusPanel; const Rect: TRect);
begin
    Panel.Style:=psOwnerDraw;  // 这行可以去掉

//    StatusBar.Canvas.Brush.Color:=clGreen;
//    StatusBar.Canvas.Font.Color:=clBlack;

//  如果如您的标题 -- 黑底绿字, 那是不是应该改成 --
    StatusBar.Canvas.Brush.Color:=clBlack;
    StatusBar.Canvas.Font.Color:=clGreen;

    StatusBar.Canvas.Font.size:=18; (你想要的字体大小!!!)    注意这一行!!!


    StatusBar.Canvas.FillRect(Rect);
// 显示文字:
    StatusBar.Canvas.TextRect(Rect, Rect.Left, Rect.Top, Panel.Text);
end;

#5


谢谢

#1


改变大小是有效的,改变颜色没效果

#2


首先, 启动 Statusbars.Panels 的属性编辑器(从 Object Inspector 中, 点一下 Panels 属性右边的'...'小按钮), 确定各 Panels 的 Sytle 是否为: OwnerDraw (若为 Text, 则 OnDrawPanel 事件不会有作用的).

其次 

procedure TForm1.StatusBar1DrawPanel(StatusBar: TStatusBar;
  Panel: TStatusPanel; const Rect: TRect);
begin
    Panel.Style:=psOwnerDraw;  // 这行可以去掉

//    StatusBar.Canvas.Brush.Color:=clGreen;
//    StatusBar.Canvas.Font.Color:=clBlack;

//  如果如您的标题 -- 黑底绿字, 那是不是应该改成 --
    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;

#3


谢谢楼上老兄,我关键是想把字体的大小变大些,总也实现不了,上面老哥说的改不了字体大小。

#4


lion_lh(xmanx)已经告诉你具体的做法了!你应该好好体会一下他的思路!

procedure TForm1.StatusBar1DrawPanel(StatusBar: TStatusBar;
  Panel: TStatusPanel; const Rect: TRect);
begin
    Panel.Style:=psOwnerDraw;  // 这行可以去掉

//    StatusBar.Canvas.Brush.Color:=clGreen;
//    StatusBar.Canvas.Font.Color:=clBlack;

//  如果如您的标题 -- 黑底绿字, 那是不是应该改成 --
    StatusBar.Canvas.Brush.Color:=clBlack;
    StatusBar.Canvas.Font.Color:=clGreen;

    StatusBar.Canvas.Font.size:=18; (你想要的字体大小!!!)    注意这一行!!!


    StatusBar.Canvas.FillRect(Rect);
// 显示文字:
    StatusBar.Canvas.TextRect(Rect, Rect.Left, Rect.Top, Panel.Text);
end;

#5


谢谢