在delphi中怎样改变stringgrid锁定行和列的颜色
stringgrid锁定行和列的颜色只能为系统的默认色,能不能自定义一下啊?还像还是没有用啊!还是系统默认颜色。怎么办?考勤管理的回答部分有用。我把stringgrid1...
stringgrid锁定行和列的颜色只能为系统的默认色,能不能自定义一下啊?
还像还是没有用啊!还是系统默认颜色。怎么办?
考勤管理的回答部分有用。我把stringgrid1的goRowSelect设置为TRUE(即点击单元格时,以蓝色显示当前行),但当我对在StringGrid1DrawCell过程中加了代码,即把原来蓝色改为红色时,Stringgrid1.FixedColor := clRed; 失效。应该是这个原因吧?
代码如下:
procedure TNotice.StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
Rect: TRect; State: TGridDrawState);
var
r:TRect;
begin
with StringGrid1.Canvas do
begin
if gdSelected in State then
Brush.Color:=clRed
else
Brush.Color:=clWhite;
FillRect(rect);
SetRect(r,Rect.Left+2,Rect.Top+2,Rect.Right-3,Rect.Bottom-3);
Font.Color:=clBlack;
DrawText(Handle,PAnsiChar(StringGrid1.Cols[acol][arow]),
-1,R,DT_CENTER or DT_WORD_ELLIPSIS);
end;
end; 展开
还像还是没有用啊!还是系统默认颜色。怎么办?
考勤管理的回答部分有用。我把stringgrid1的goRowSelect设置为TRUE(即点击单元格时,以蓝色显示当前行),但当我对在StringGrid1DrawCell过程中加了代码,即把原来蓝色改为红色时,Stringgrid1.FixedColor := clRed; 失效。应该是这个原因吧?
代码如下:
procedure TNotice.StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
Rect: TRect; State: TGridDrawState);
var
r:TRect;
begin
with StringGrid1.Canvas do
begin
if gdSelected in State then
Brush.Color:=clRed
else
Brush.Color:=clWhite;
FillRect(rect);
SetRect(r,Rect.Left+2,Rect.Top+2,Rect.Right-3,Rect.Bottom-3);
Font.Color:=clBlack;
DrawText(Handle,PAnsiChar(StringGrid1.Cols[acol][arow]),
-1,R,DT_CENTER or DT_WORD_ELLIPSIS);
end;
end; 展开
2个回答
展开全部
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询