如何将进度条绘入DBGrid的单元格中?

WuLoveXue 2005-05-30 01:43:07
如题,获得焦点外的行也能显示进度条!
行得通的全分想送!
...全文
428 15 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
WuLoveXue 2005-06-08
  • 打赏
  • 举报
回复
procedure TProgressForm.ProgressGrdDrawColumnCell(Sender: TObject;
const Rect: TRect; DataCol: Integer; Column: TColumnEh;
State: TGridDrawState);
var
ProgressRect, ATextRect: TRect;
DBGridEh: TDBGridEh;
DataSet: TDataSet;
Percent: Integer;
PercentText: string;
begin
if not (Sender is TDBGridEh) then
Exit;

DBGridEh := Sender as TDBGridEh;
DataSet := DBGridEh.DataSource.DataSet;
with DBGridEh.Canvas do
begin
if Column.FieldName = FCompleteFieldName then
begin
with DataSet do
Percent := Round(FieldByName(FCompleteFieldName).AsInteger
/ FieldByName(FTotalFieldName).AsInteger * 100);

with Rect do
ProgressRect := Types.Rect(Left, Top,
Left + Round((Right- Left)*(Percent/100))-1, Bottom-1);

Brush.Color := clSkyBlue;
Font.Color := clSkyBlue;
DBGridEh.DefaultDrawColumnCell(Rect, DataCol, Column, State);

Brush.Color := clBlue;
Font.Color := clBlue;
DBGridEh.DefaultDrawColumnCell(ProgressRect, DataCol, Column, State);

PercentText := IntToStr(Percent) + '%';
Brush.Style := bsClear;
Font.Color := clWhite;
with Rect do
TextOut(Left + (Right-Left) div 2 -TextWidth(PercentText) div 2,
Top+1, PercentText);
end;
end;
end;

TO guolvguolv(盲鹰) :
其它只是在画布上画出来滴,呵呵假的!
magicfire 2005-06-06
  • 打赏
  • 举报
回复
问题解决了。。。
guolvguolv 2005-06-06
  • 打赏
  • 举报
回复
我晕,前几天就看到了这个贴子了,在网上找了一些东西,刚想试着做一下,没想到这么快就完了,给点分吧,或者给一个解决方法,共享一下,谢谢楼主!!
aiirii 2005-06-03
  • 打赏
  • 举报
回复
http://borland.mblogger.cn/aiirii/category/463.aspx
aiirii 2005-06-03
  • 打赏
  • 举报
回复
不难,已解决,我就接分
lovend 2005-06-03
  • 打赏
  • 举报
回复
我觉得好难,你都能搞定呀,恭喜你
WuLoveXue 2005-06-03
  • 打赏
  • 举报
回复
已解决,散分
wintergoes 2005-05-31
  • 打赏
  • 举报
回复
对啊,设置它的位置不就可以吗?
jinjazz 2005-05-31
  • 打赏
  • 举报
回复
那你create几个,画到指定格所在的位置不就可以了
WuLoveXue 2005-05-31
  • 打赏
  • 举报
回复
显示多个任务的进度,有如cuteftp显示多个下载任务里的效果!
naner_china 2005-05-31
  • 打赏
  • 举报
回复
结你一个例子
http://search.csdn.net/Expert/topic/769/769021.xml?temp=.7423212
cdsgajxlp 2005-05-31
  • 打赏
  • 举报
回复
create几个,画到指定格所在的位置不就可以了
lw549 2005-05-31
  • 打赏
  • 举报
回复
晕死,又这样
cangwu_lee 2005-05-31
  • 打赏
  • 举报
回复
在 dfm 文件里面,把进度条的定义部分放到一个 Cell 的定义里面,试试看

好运!
jinjazz 2005-05-30
  • 打赏
  • 举报
回复
进度条画到dbgrid里面干什么?

5,928

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧