请教这样一个问题:怎样随意改变StringGrid的单元格的底色,并且在改变下一个单元格底色后前面的设置继续保留原状。 自己画。在OnDrawCell事件中处理。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 我是一个初学者:sunhuiNO1(2B)能不能具体一点,最好能附点代码。谢谢!!! 你的意思是每一个小格的颜色可以个不相同是吧?那需要用数组纪录颜色,然后重载ondraw事件。 varFNewOldColor,FOldColor: TColor;FOlColor :=StringGrid1.Color;FNewOldColor :=ClRed;StringGri1.Color :=FNewOldColor; procedure TjsfxFrm.sshqlistDrawCell(Sender: TObject; ACol, ARow: Integer; Rect: TRect; State: TGridDrawState);var strFsize, valFsize: integer; clup, cldown, clp: tcolor; font: tfont; width, height, cpos: integer; tmpGrid: Tstringgrid; tmpstr, tmpstr1: string; tmpreal, tmppre, tmpclose: real; realfmt: string; intfmt, scrb, zqrb: string;begin tmpgrid := sender as tstringgrid; if(ARow mod 2)=0 then tmpgrid.Canvas.Brush.Color := clblack else tmpgrid.Canvas.Brush.Color := clRed tmpgrid.Canvas.FillRect(Rect);end; 菜鸟散分:画布问题 Delphi三层架构数据压缩 请问如何查找指定扩展名的文件? 提问一个开发专家的问题!一个扩展IDE的问题! UDP穿透防火墙时的奇怪问题. BORLAN DATABASE ENGINEP初始化错误如何解决??? 我的托盘程序为何让机器无法关机?? 征求API函数SHFileOperation详解 最愚笨的问题 DELPHI,SQL高手请进 关于一个查询的问题? 谁能告诉我WM_SYSCOMMAND常数的值是多少
那需要用数组纪录颜色,然后重载ondraw事件。
FNewOldColor,FOldColor: TColor;FOlColor :=StringGrid1.Color;
FNewOldColor :=ClRed;
StringGri1.Color :=FNewOldColor;
Rect: TRect; State: TGridDrawState);
var
strFsize, valFsize: integer;
clup, cldown, clp: tcolor;
font: tfont;
width, height, cpos: integer;
tmpGrid: Tstringgrid;
tmpstr, tmpstr1: string;
tmpreal, tmppre, tmpclose: real;
realfmt: string;
intfmt, scrb, zqrb: string;
begin
tmpgrid := sender as tstringgrid;
if(ARow mod 2)=0 then
tmpgrid.Canvas.Brush.Color := clblack
else
tmpgrid.Canvas.Brush.Color := clRed
tmpgrid.Canvas.FillRect(Rect);
end;