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;
其次
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;
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;
其次
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;
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
谢谢