stringgrid隔行显示不同的底色。 代码怎么写?
有过隔行显示不同颜色的帖子,可是表格中的文字就看不到了,请诸位帮忙!辛苦啦
有过隔行显示不同颜色的帖子,可是表格中的文字就看不到了,请诸位帮忙!辛苦啦
解决方案 »
- 存储文件大小值的字段应该用什么类型?`
- 如何将word,pdf,Excel等文档转化成bmp图片
- 这个复杂的SQL怎么写----准备给1000分
- 高分请教 DBGrid中数据的修改....分不够...加...
- 心里烦闷~~~散分!!
- ClientSocket往ServerSocket发送流为什么会出错??????
- 谁有Turbo C++工具,急需!
- 一个老问题 怎样在注册表中让程序在系统启动时自动加载
- 哪位大哥能说说 goto 语句怎样使用吗?举个例子吧!goto 标号; 这个标号怎样定义和使用呢?
- 可以取得某个网页的session吗?
- left join的一个奇怪问题。特奇怪。
- 执行DOS命令的一个问题!
type
TStringGridAccess = class(TStringGrid); //访问DrawCell()方法用procedure TForm1.StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
Rect: TRect; State: TGridDrawState);
var
vText: string;
begin
if (ACol <= 0) or (ARow <= 0) then Exit;
if Odd(ARow) then
begin
TStringGrid(Sender).Canvas.Brush.Color := clSkyBlue;
TStringGrid(Sender).Canvas.FillRect(Rect);
TStringGrid(Sender).OnDrawCell := nil;
try
TStringGridAccess(Sender).DrawCell(ACol, ARow, Rect, State);
finally
TStringGrid(Sender).OnDrawCell := StringGrid1DrawCell;
end;
end;
end;
procedure TForm1.StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
Rect: TRect; State: TGridDrawState);
var
S: string;
begin
S := grdRssi.Cells[ACol, ARow];
if (ARow mod 2) = 1 then
begin
StringGrid1.Canvas.Brush.Color := clred;
StringGrid1.Canvas.FillRect(Rect);
DrawText(StringGrid1.Canvas.Handle, PAnsiChar(S), Length(S),
Rect, DT_CENTER or DT_VCENTER or DT_END_ELLIPSIS or DT_SINGLELINE );
end;
end;