stringgrid问题(20分)

  • 主题发起人 主题发起人 qddmh
  • 开始时间 开始时间
Q

qddmh

Unregistered / Unconfirmed
GUEST, unregistred user!
当我将StringGird的options属性中包含goRowSelect项时
每当我选中StringGrid中一行, 则选中行用深蓝色显示,
我想将深蓝色改为其他颜色应怎样该?
我想是否只能改变StringGrid原吗? 如果是请给个例子
如果不是也请给个例子,谢谢!
 
procedure TForm1.StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
Rect: TRect; State: TGridDrawState);
begin
With StringGrid1 do
begin
If (ARow= Krow) and not (acol = 0) then
begin
Canvas.Brush.Color :=clYellow;// ClBlue;
Canvas.FillRect(Rect);
Canvas.font.color:=ClBlack;
Canvas.TextOut(rect.left , rect.top, cells[acol, arow]);
end;
end;
end;

procedure TForm1.StringGrid1SelectCell(Sender: TObject; ACol,
ARow: Integer; var CanSelect: Boolean);
begin
krow := Arow;
kcol := Acol;
end;
 
同意 linsb,但是必须把变量KROW的值初始为1或其他不为0的值,否则如果锁定第一行的
话,第一行的颜色将被自设颜色取代,而锁定行不会被重画。
 
接受答案了.
 
后退
顶部