Salut,
ich habe da mal ne Frage...
Ich habe eine Tabelle (ein String Grid), in das Werte-Paare eingefügt werden. In einer Spalte die X-Werte, in der nächsten Spalte dann die Y-Werte.
Ich will nun, wenn ich einen X-Wert auswähle auch automatisch den entsprechenden Y-Wert auswählen bzw. wenn ich auf den Y-Wert klicke, auch automatisch den entsprechenden X-Wert ausgewählt bekommen.
Mein StringGrid hat die Eigenschaft goRangeselect auf True gesetzt bekommen, und die OnSelectCell sieht wie folgt aus:
Delphi-Quellcode:
procedure TFrmSeries.SGValueTableSelectCell(Sender: TObject; ACol,
ARow: Integer; var CanSelect: Boolean);
var
myRect : TGridRect;
begin
if ACol mod 2 = 0 then
begin
myRect.Left := ACol;
myRect.Right := ACol+1;
end
else
begin
myRect.Left := ACol-1;
myRect.Right := ACol;
end;
myRect.Top := ARow;
myRect.Bottom := ARow;
SGValueTable.Selection := myRect;
// Alles 3 ausprobiert, hilft nix
// SGValueTable.Update();
// SGValueTable.Refresh();
// SGValueTable.Repaint();
end;
In den Spalten mit den geraden Nummern (0,2,4,...) stehen die X-Werte drin in den anderen die Y-Werte. Deswegen zuerst die Abfrage wo ich bin, und dementsprechend wird dann myRect gefüllt.
Nur irgendwie zeigt der mir nicht die Markierung an, die ich haben will, sondern eben weiterhin die einzelne Zelle.
Hat jemand ne Idee ??
Grüße
Wolf
Ein Schiff im Hafen ist sicher. Aber dafür werden Schiffe nicht gebaut. (engl. Sprichwort)