请问在delphi中让grid中不同的内容显示不同的颜色
请问在grid中让不同的内容显示不同的颜色?比如说查询一个学生的成绩,将成绩输出到grid,并且使不及格的科目显示为红色。我用的是StringGrid。请说详细一点,该用...
请问在grid中让不同的内容显示不同的颜色?
比如说查询一个学生的成绩,将成绩输出到grid,并且使不及格的科目显示为红色。我用的是StringGrid。
请说详细一点,该用哪个控件,具体代码应该是什么样的,谢谢,我是一个新手 展开
比如说查询一个学生的成绩,将成绩输出到grid,并且使不及格的科目显示为红色。我用的是StringGrid。
请说详细一点,该用哪个控件,具体代码应该是什么样的,谢谢,我是一个新手 展开
1个回答
展开全部
不用其他控件,只要在StringGrid的Events里的OnDrawCell过程如下
procedure TForm1.StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
Rect: TRect; State: TGridDrawState);
begin
with StringGrid1 do
if Cells[ACol, ARow]<>'' then
if StrToInt(Cells[ACol, ARow]) <60 then
begin
Canvas.Font.Color := clred; //字体颜色为红的
Canvas.Brush.Color := clMoneyGreen; //背景为 美元绿色
Canvas.FillRect(Rect);
Canvas.TextOut(Rect.Left + 2, Rect.Top + 2, Cells[ACol, ARow]);
end;
end;
procedure TForm1.StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
Rect: TRect; State: TGridDrawState);
begin
with StringGrid1 do
if Cells[ACol, ARow]<>'' then
if StrToInt(Cells[ACol, ARow]) <60 then
begin
Canvas.Font.Color := clred; //字体颜色为红的
Canvas.Brush.Color := clMoneyGreen; //背景为 美元绿色
Canvas.FillRect(Rect);
Canvas.TextOut(Rect.Left + 2, Rect.Top + 2, Cells[ACol, ARow]);
end;
end;
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询