在DBGridEh中显示进度条
来源:互联网 发布:帝国cms仿站 编辑:程序博客网 时间:2024/05/22 07:56
procedure TForm1.DBGridEh1DrawColumnCell(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 = 'percent' then
begin
with DataSet do
Percent := Round(FieldByName(FCompleteFieldName).AsInteger
/ FieldByName(FTotalFieldName).AsInteger * 100);
with Rect do
ProgressRect := Types.Rect(Left+1, Top+1,
Left + Round((Right- Left)*(Percent/100))-1, Bottom-1);//画出进度条
Brush.Color := clWindow;
Font.Color := clWindow;
DBGridEh.DefaultDrawColumnCell(Rect, DataCol, Column, State);
Brush.Color := $00FFCC00;//设置进度条颜色
Font.Color := $00FFCC00;
DBGridEh.DefaultDrawColumnCell(ProgressRect, DataCol, Column, State);
PercentText := IntToStr(Percent) + '%';
Brush.Style := bsClear;
Font.Color := clBlack;
with Rect do
TextOut(Left + (Right-Left) div 2 -TextWidth(PercentText) div 2,
Top+1, PercentText);//画出进度数字
end;
end;
end;
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 = 'percent' then
begin
with DataSet do
Percent := Round(FieldByName(FCompleteFieldName).AsInteger
/ FieldByName(FTotalFieldName).AsInteger * 100);
with Rect do
ProgressRect := Types.Rect(Left+1, Top+1,
Left + Round((Right- Left)*(Percent/100))-1, Bottom-1);//画出进度条
Brush.Color := clWindow;
Font.Color := clWindow;
DBGridEh.DefaultDrawColumnCell(Rect, DataCol, Column, State);
Brush.Color := $00FFCC00;//设置进度条颜色
Font.Color := $00FFCC00;
DBGridEh.DefaultDrawColumnCell(ProgressRect, DataCol, Column, State);
PercentText := IntToStr(Percent) + '%';
Brush.Style := bsClear;
Font.Color := clBlack;
with Rect do
TextOut(Left + (Right-Left) div 2 -TextWidth(PercentText) div 2,
Top+1, PercentText);//画出进度数字
end;
end;
end;
- 在DBGridEh中显示进度条
- 在DbGridEh中显示表中表
- 关于在DBgrideh的单元格中显示jpg图片
- 在ASP.NET中显示进度条
- 在ASP.NET中显示进度条
- 在ASP.NET中显示进度条
- 在ASP.NET中显示进度条
- 在ASP.NET中显示进度条
- 在ASP.NET中显示进度条
- 在Asp.Net中显示进度条
- 在ASP.NET中显示进度条
- 在ASP.NET中显示进度条
- 在Asp.Net中显示进度条
- 在ASP.NET中显示进度条
- 在消息窗口中显示进度条
- 在Android的Notification中显示进度条
- 在Android的Notification中显示进度条
- 在Android的Notification中显示进度条
- 初学软件人的烦恼
- 面向 OpenMoko Linux 手机的软件开发
- C#使文件類型與程式關聯
- URL中的特殊字符处理笔记
- 由TreeView组件到ListView组件的拖放操作:
- 在DBGridEh中显示进度条
- JUnit Test——访问私有成员(Field和Method)
- org.springframework.beans.NotWritablePropertyException: Invalid property... 问题解决
- Arguments
- 'ログオフ、シャットダウンの通知(メールの方式)
- 轻型web server比较
- Hibernate乐观锁实现之Timestamp
- crontab 执行php程序
- c#断点续传