2,497
社区成员
发帖
与我相关
我的任务
分享
procedure Tfrm_Data_Check.ag_BBDrawCell(Sender: TObject; ACol,
ARow: Integer; Rect: TRect; State: TGridDrawState);
var
R: TRect;
begin
if (ACol = 0) and (ARow = 1) then begin // 第一列的起始位置,防止鼠标点击到固定行
Axis_X := Rect.Right;
Axis_Y := Rect.Top;
end;
if (ACol = 0) and (ARow > 0) then begin
ag_BB.Canvas.Brush.Color := ag_BB.Color;
R := Rect;
R.Top := R.Top + 5;
R.Bottom := R.Bottom - 4;
if ag_BB.Cells[0,ARow] = '是' then // 单元格的值是“是”
ag_BB.Canvas.Brush.Color := clSkyBlue
else
ag_BB.Canvas.Brush.Color := ag_BB.Color;
ag_BB.Canvas.FillRect(R);
DrawFrameControl(ag_BB.Canvas.Handle,R,DFC_BUTTON,GetSelState(ag_BB.Cells[ACol,ARow]));
end
end;
function Tfrm_Data_Check.GetSelState(s: String): Integer; // 取当前格的选择状态
begin
if s = '是' then
Result := DFCS_BUTTONCHECK or DFCS_CHECKED
else
Result := DFCS_BUTTONCHECK;
end;
http://d.download.csdn.net/down/795399/lynmison