如何把进度条放在TStatusBar上 指定Parent属性,并设定好大小即可。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 由于状态条不是容器,所以进度条无法放在上面,你可以用Pannel和状态条组合使用。 先把状态栏的第一个Panel的style属性设为psOwnerDraw,在窗体上随便放一个进度条,然后在状态栏的OnDrawPanel事件中按以下书写:procedure TForm1.StatusBar1DrawPanel(StatusBar: TStatusBar; Panel: TStatusPanel; const Rect: TRect);begin ProgressBar1.Parent := StatusBar1; ProgressBar1.Left := Rect.Left; ProgressBar1.Top := Rect.Top; ProgressBar1.Width := Panel.Width; ProgressBar1.Height := Rect.Bottom - Rect.Top; ProgressBar1.Visible:= True;end; 应该是可以的,因为状态条控件是从TwinControl类继承的。我想可以这样:在窗体上放一进度条,然后动态地设定其parent为statusbar1。 很简单,你放一个TPanel,将它的Align属性设为alBottom,然后在上面放入TStatusBar,最后把进度条TProgressBar放在TStatusBar上面,调整一下大小和方向便可。 在程序中设置存放进度值的变量x,比如百分之多少。将相应的statusbar的panel的style属性设为psOwnerDraw,在StatusBar1DrawPanel事件中写如下代码: 首先判断一下当前要画的panel是否是您想表示进度的panel 如是,则 statusbar1.canvas.brush.color=clblue; statusbar1.canvas.fillrect((rect(Rect.left,Rect.top,Rect.right*x,Rect.bottom)); 如果还想写文字,可以用canvas的textout或者textrect方法画字。用这种方法只能表示进度,但不能通过用鼠标拖拉的方法改变进度。即只能实现进度条的部分功能。 去WWW.DELPHIUSER.COM去下载一个控件包:RAIZE里面的控件能完全符合您的要求。(也可由我MAIL TO YOU) 稍微改一下statusbar的源码做一个控件。不但可以放进度条。边图片都可以放。想要请通知我! 完全同意Bald_eagle的方法,这是最简单的方法,哪里还要用控件或其它。 hhzh426的方法比较专业!peacock的方法比较简单,但是进度条增加是好像有些闪烁. 新学pascal语言,有几个问题不明白想请教下 fastreport直接打印 delphi idhttp post 的问题 Creport 纸张大小 关于获得子窗体获得焦点的问题 fei19790920(饭桶的马甲(抵制日货)) && aiirii(ari-爱的眼睛)请进 在delphi中如何调用帮助文件? 在listview中如何实现类示treeview那种--子列表功能 串口通讯问题 query中参数是时间变量的问题 模拟浏览器 Delphi5中有TRegistry类吗?
然后在状态栏的OnDrawPanel事件中按以下书写:
procedure TForm1.StatusBar1DrawPanel(StatusBar: TStatusBar;
Panel: TStatusPanel; const Rect: TRect);
begin
ProgressBar1.Parent := StatusBar1;
ProgressBar1.Left := Rect.Left;
ProgressBar1.Top := Rect.Top;
ProgressBar1.Width := Panel.Width;
ProgressBar1.Height := Rect.Bottom - Rect.Top;
ProgressBar1.Visible:= True;
end;
在窗体上放一进度条,然后动态地设定其parent为statusbar1。
将相应的statusbar的panel的style属性设为psOwnerDraw,在StatusBar1DrawPanel事件中写如下代码:
首先判断一下当前要画的panel是否是您想表示进度的panel
如是,则
statusbar1.canvas.brush.color=clblue;
statusbar1.canvas.fillrect((rect(Rect.left,Rect.top,Rect.right*x,Rect.bottom));
如果还想写文字,可以用canvas的textout或者textrect方法画字。
用这种方法只能表示进度,但不能通过用鼠标拖拉的方法改变进度。即只能实现进度条的部分功能。
(也可由我MAIL TO YOU)
peacock的方法比较简单,但是进度条增加是好像有些闪烁.