delphi7中 OnDrawColumnCell 事件怎么用

2021-07-10 14:09

阅读:548

标签:top   http   delphi7   else   ondraw   ase   can   dna   com   

你问的这个事件应该是dbgrid控件中的吧?这个事件是在grid控件载入数据的时候触发的,至于你这个“怎么用”波及的范围太大了,呵呵!不知道如何说起!另外还是发一段相关的代码吧,这也是我之前提过问题,别人回答的:这段代码是在数据加载时触发执行下面的代码,判断数据内容重画GRID中的单元格内容:
procedure TForm1.DBGrid1DrawDataCell(Sender: TObject; const Rect: TRect;
  Field: TField; State: TGridDrawState);
const
  StateText: array[0..3] of String = (‘新增‘, ‘开始‘, ‘完成‘, ‘未完成‘);
var
  x, y: Integer;
  text: String;
begin
  with Sender as TDBGrid do
  begin
    if LowerCase(Field.FieldName) = ‘state‘ then
    begin
      text := StateText[Field.AsInteger];
      y := (Rect.Bottom - Rect.Top - Canvas.TextHeight(text)) div 2;
      x := (Rect.Right - Rect.Left - Canvas.TextWidth(text)) div 2;
      Canvas.TextRect(Rect, x, y, text);
end
    else
      DefaultDrawDataCell(Rect, Field, State);
  end;
end;

delphi7中 OnDrawColumnCell 事件怎么用

标签:top   http   delphi7   else   ondraw   ase   can   dna   com   

原文地址:https://www.cnblogs.com/jijm123/p/9683593.html


评论


亲,登录后才可以留言!