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;
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
大雅新科技有限公司
2024-11-19 广告
2024-11-19 广告
这方面更多更全面的信息其实可以找下大雅新。深圳市大雅新科技有限公司从事KVM延长器,DVI延长器,USB延长器,键盘鼠标延长器,双绞线视频传输器,VGA视频双绞线传输器,VGA延长器,VGA视频延长器,DVI KVM 切换器等,优质供应商,...
点击进入详情页
本回答由大雅新科技有限公司提供
展开全部
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试一下
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询