delphi stringgrid 颜色显示问题
delphi中stringgrid。如何实现单元格判断一个值大于0,显示红色,小于现实绿色StringGrid1DrawCell我知道用它。可是我总是实现不了。不是全是大...
delphi中stringgrid。如何实现单元格判断一个值大于0,显示红色,小于现实绿色
StringGrid1DrawCell我知道用它。可是我总是实现不了。不是全是大于就是全是小于。高手指证。
if strtofloat(Stringgrid1.Cells[acol,ARow])>0 then
begin
StringGrid1.Canvas.Font.Color := clred; //字体颜色为红的
StringGrid1.Canvas.Brush.color:=clMoneyGreen; //背景为 美元绿色
StringGrid1.Canvas.FillRect(Rect);
StringGrid1.Canvas.TextOut(Rect.Left+2,Rect.Top+2,StringGrid1.Cells[acol,ARow]);
end;
如果我想只对第四列的数进行限制如何写代码。 展开
StringGrid1DrawCell我知道用它。可是我总是实现不了。不是全是大于就是全是小于。高手指证。
if strtofloat(Stringgrid1.Cells[acol,ARow])>0 then
begin
StringGrid1.Canvas.Font.Color := clred; //字体颜色为红的
StringGrid1.Canvas.Brush.color:=clMoneyGreen; //背景为 美元绿色
StringGrid1.Canvas.FillRect(Rect);
StringGrid1.Canvas.TextOut(Rect.Left+2,Rect.Top+2,StringGrid1.Cells[acol,ARow]);
end;
如果我想只对第四列的数进行限制如何写代码。 展开
2个回答
展开全部
procedure TForm1.StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
Rect: TRect; State: TGridDrawState);
begin
with Sender as TStringGrid do begin
if (ARow mod 2 =0) then begin //偶数row
Canvas.Brush.Color := clYellow; //底色
Canvas.font.Color:=clRed; //字体颜色
end
else begin
Canvas.Brush.Color := clWindow;
Canvas.font.Color := clblue;
end;
Canvas.FillRect(Rect); //绘底色
canvas.textout(rect.Left,rect.Top,cells[Acol,ARow]); //output text
end;
Rect: TRect; State: TGridDrawState);
begin
with Sender as TStringGrid do begin
if (ARow mod 2 =0) then begin //偶数row
Canvas.Brush.Color := clYellow; //底色
Canvas.font.Color:=clRed; //字体颜色
end
else begin
Canvas.Brush.Color := clWindow;
Canvas.font.Color := clblue;
end;
Canvas.FillRect(Rect); //绘底色
canvas.textout(rect.Left,rect.Top,cells[Acol,ARow]); //output text
end;
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
if strtofloat(Stringgrid1.Cells[4,ARow])>0 then
begin
StringGrid1.Canvas.Font.Color := clred; //字体颜色为红的
StringGrid1.Canvas.Brush.color:=clMoneyGreen; //背景为 美元绿色
StringGrid1.Canvas.FillRect(Rect);
StringGrid1.Canvas.TextOut(Rect.Left+2,Rect.Top+2,StringGrid1.Cells[4,ARow]);
end;
--------
把acol置为4试一下
begin
StringGrid1.Canvas.Font.Color := clred; //字体颜色为红的
StringGrid1.Canvas.Brush.color:=clMoneyGreen; //背景为 美元绿色
StringGrid1.Canvas.FillRect(Rect);
StringGrid1.Canvas.TextOut(Rect.Left+2,Rect.Top+2,StringGrid1.Cells[4,ARow]);
end;
--------
把acol置为4试一下
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询