在DBGRID中如何画图
我要在DBGRID里的单元格里画图
具体是这样的
DBGRID的数据源是QUERY
DBGRID里的COLUMN固定显示QUERY里的某几列
假设QUERY有A,B,C,D,E,F这些列
但是在DBGRID里我只要A,C,D
并且在A这列里要画个小圆点,如果D的值为1,则点为红色,为2,则点为绿色
这个事件要在ONDRAWDATACELL里写
请问应该怎么办?
我写了一段代码
但是不会有颜色
procedure TAllAlarmF.DBGrid1DrawDataCell(Sender: TObject;
const Rect: TRect; Field: TField; State: TGridDrawState);
var vColor: TColor;
if UPPERCASE(Field.FieldName)='SHOWCOLOR' then
begin
case ArrAlarmType[GJCXQ.FieldByName('ALARMKIND').AsInteger].SHOWCOLOR of
1 : vColor:=clGreen;
2 : vColor:=clBlue;
3 : vColor:=clMaroon;
4 : vColor:=clRed;
else vColor:=clBlack;
end;
DBGrid1.Canvas.Font.Color:=vColor;
DBGrid1.Canvas.TextOut(Rect.Left+1,Rect.Top+1,'●');
end else
begin
wwDBGrid1.Canvas.Font.Color:=vColor;
DBGrid1.DefaultDrawDataCell(Rect, Field, State);
end;
end;
请问是怎么回事
应该怎么修改
问题点数:40、回复次数:2Top
1 楼clb3344()回复于 2006-03-16 07:52:21 得分 0
高手来教教我啊Top
2 楼nhr(无名氏)回复于 2006-03-22 15:37:04 得分 40
我来教你。加我QQ:501784Top




