OwnerDraw im Stringgrid ? Seit wann gibts denn das und wozu ?
Das hier sollte als Anregung reichen (OnDrawCell) :
Delphi-Quellcode:
var DrawState: Integer;
DrawRect: TRect;
... if ACol in CheckBoxCols then begin
DrawRect:=Rect;
DrawState := ISChecked[StrToInt (sgSender.Cells [ACol,ARow]) = 1];
sgSender.Canvas.FillRect(Rect); // hinter Cells liegende 0/1 nicht anz.
DrawFrameControl((Sender as TStringGrid).Canvas.Handle,DrawRect,DFC_BUTTON,DrawState);
end
Grundgedanke ist, den tatsächlichen Zelleninhalt zu übertünchen. Tatsächlich steht in der Zelle zwar 0 oder 1, aber man sieht nur die Checkbox.