如何将进度条绘入DBGrid的单元格中? 如题,获得焦点外的行也能显示进度条!行得通的全分想送! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 显示多个任务的进度,有如cuteftp显示多个下载任务里的效果! 那你create几个,画到指定格所在的位置不就可以了 在 dfm 文件里面,把进度条的定义部分放到一个 Cell 的定义里面,试试看好运! create几个,画到指定格所在的位置不就可以了 结你一个例子http://search.csdn.net/Expert/topic/769/769021.xml?temp=.7423212 http://borland.mblogger.cn/aiirii/category/463.aspx 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(盲鹰) :其它只是在画布上画出来滴,呵呵假的! 如何使用随机函数? 我想做一个KTV的收银系统,不知道这个怎么搞(请见描述)!谢了! 关于一些控件的问题! 设置和读取格子里面的内容,方便得选择某一行,用什么控件比较好 怎样在一个组件中添加自定义的属性 求购档案管理软件(C/S、B/S不限),有意者点击 大虾们,请问如何实现statusbar中的字能够滚动? 画的图形在点中移动时的问题 各位DELPHI的程序员们,问一个简单的问题~~ FK? QRDBText如何设置数据格式为 ###,###,##0.###??? 如何对用Indy写的一个通信程序做压力测试?
http://search.csdn.net/Expert/topic/769/769021.xml?temp=.7423212
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(盲鹰) :
其它只是在画布上画出来滴,呵呵假的!