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;

如果我想只对第四列的数进行限制如何写代码。
展开
 我来答
alps888
推荐于2016-03-12 · TA获得超过178个赞
知道答主
回答量:52
采纳率:0%
帮助的人:0
展开全部
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;
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友f6d5160
2009-12-28 · 超过22用户采纳过TA的回答
知道答主
回答量:64
采纳率:0%
帮助的人:40.5万
展开全部
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试一下
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式