Die Funktion hat sich (leider) geändert, ist quasi totgelegt, weil ein Wert nur zurückgeliefert wird, wenn die Zelle in der selektierten Zeile liegt:
Delphi-Quellcode:
function TColumn.CellControlByRow(Row: Integer): TStyledControl;
begin
if (Grid <> nil) and Grid.IsSelected(Row) then
Result := CellControl
else
Result := nil;
end;
Alte Version:
Delphi-Quellcode:
function TColumn.CellControlByRow(Row: Integer): TStyledControl;
var
i: Integer;
LGrid : TCustomGrid;
begin
LGrid := Grid;
Result := nil;
if not Assigned(LGrid) then
Exit;
for i := 0 to High(FCellControls) do
if (FCellControls[i].Visible) and
(Trunc(StringToPoint(FCellControls[i].TagString).Y) = Row) then
begin
Result := FCellControls[i];
Exit;
end;
end;
Ich werde mal nach einem Ersatz suchen...
Übrigens ist das nicht die einzige Änderung an den Grids. Bei StringGrids sind mir nichts dir nichts die Onpaint und Onpainting-Events für die TStringColumns weggefallen.
Ich hatte mich glaube ich zu Recht dafür entschieden, mit dem TMS-Grid zu arbeiten, solche Brüche habe ich dort Gott sei Dank noch nicht erlebt.