Entwickler-Ecke

Grafische Benutzeroberflächen (VCL & FireMonkey) - Welche Zelle wurde in StringGrid geklickt?


kandesbunzler - Mo 21.12.20 20:53
Titel: Welche Zelle wurde in StringGrid geklickt?
Hallo,

in einem StringGrid möchte ich ermitteln, sofern geklickt, welche Zelle angeklickt wurde (Einfachklick).

Bsp.: Der StringGrid1 wurde als 4 x 4 Grid deklariert. Wenn ich bspw. auf Zeile 2, Spalte 3 klicke, möchte ich diese Zelle in einer Auswerteprozedur 'weiterbearbeiten'.

Wie kann ich das anstellen? Meine Versuche mit der Ereignisauswertung 'OnClick' haben keine Reaktion gezeigt.

Danke!


Moderiert von user profile iconTh69: Topic aus Delphi Language (Object-Pascal) / CLX verschoben am Mo 21.12.2020 um 20:04


Th69 - Mo 21.12.20 21:09

Wäre dann nicht OnSelectCell sinnvoller (also bei jedweder Aktivierung einer Zelle)?

Ansonsten kannst du doch direkt auch auf die StringGrid-Eigenschaften Col und Row zugreifen.


mandras - Do 24.12.20 00:24

Beispiel: Im OnMouseDown-Event:


Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
procedure TForm1.StringGrid1MouseDown(Sender: TObject;
  Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
var C,R:integer;
    S:string;
begin
 StringGrid1.MouseToCell(X,Y, C,R);
 S:=format ('Spalte %d Zeile %d',[C,R]);
 MessageDLG (S, mtInformation, [mbOK] ,0);
end;


kandesbunzler - Mi 30.12.20 14:17

Hat mit OnSelectCell funktioniert. Danke!