AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Wie erfahre ich, auf welche Zeile im Stringgrid geklickt wurde?

Wie erfahre ich, auf welche Zeile im Stringgrid geklickt wurde?

Ein Thema von jumper63 · begonnen am 28. Okt 2021 · letzter Beitrag vom 30. Okt 2021
Antwort Antwort
Seite 1 von 2  1 2   
jumper63

Registriert seit: 25. Aug 2019
Ort: Berlin
8 Beiträge
 
Delphi 10.3 Rio
 
#1

Wie erfahre ich, auf welche Zeile im Stringgrid geklickt wurde?

  Alt 28. Okt 2021, 22:10
SORRY!
War lang nicht dabei, hab bisher irgendwo alles finden können, was ich brauchte.
Aber, seit WOCHEN suche ich und finde nicht!

In Stringgrid.MousDown erfahre ich die Maus-Koordinaten, aber ich benötige
die Angabe Col,Row, um die Werte der jeweiligen Zeile auszulesen.

Habe dies hier gefunden, aber beim Klick auf eine Zeile/Zelle zeigt mir die ListBox
völlig falsche Werte an!
BIN ABSOLUT DANKBAR für EURE HILFE!!!

Folgender Befehl bezieht sich doch auf die gesamte Form, oder?
p:=ScreenToClient(Point(x, y));

Delphi-Quellcode:
procedure TForm1.StringGrid1MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
var p: TPoint;
Col,Row: Integer;
begin
with StringGrid1 do//
     begin //
     L:=Left; //
     T:=Top; //
p:= ScreenToClient(Point(x, y));
//StringGrid1.MouseToCell(p.x, p.y, Col, Row); // Alt HOHE FEHLER Quote
StringGrid1.MouseToCell(p.x+L, p.y+T, Col, Row);// Neu geringe FEHLER Quote
ListBox1.Items.Add('Col,Row='+IntToStr(Col)+','+IntToStr(Row));
PopUpMenu1.PopUp(Mouse.CursorPos.X, Mouse.CursorPos.Y);// Das klappt
end;
Col,Row Werte stimmen NICHT mit geklickter Zeile/Zelle überein!

Nachtrag, hab die x,y Werte von ScreenToClient etwas verändert,
so wird Col,Row (fast)richtig angezeigt-
StringGrid1ToClient nimmt Delhi nicht
Uli

Geändert von jumper63 (28. Okt 2021 um 22:36 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von KodeZwerg
KodeZwerg

Registriert seit: 1. Feb 2018
3.685 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: Wie erfahre ich, auf welche Zeile im Stringgrid geklickt wurde?

  Alt 29. Okt 2021, 04:13
Hallo, ich gebe ein kleines Beispiel, lege dazu ein mousedown event an:
Delphi-Quellcode:
procedure TForm17.StringGrid1MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
var
  ACol, ARow: Integer;
begin
  StringGrid1.MouseToCell(X, Y, ACol, ARow); // hier bekommt ACol und ARow ihre entsprechenden werte
  Edit1.Text := StringGrid1.Cells[ACol, ARow]; // hier lese ich die zelle aus
end;
Viel spass
Gruß vom KodeZwerg
  Mit Zitat antworten Zitat
Benutzerbild von Jasocul
Jasocul

Registriert seit: 22. Sep 2004
Ort: Delmenhorst
1.337 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: Wie erfahre ich, auf welche Zeile im Stringgrid geklickt wurde?

  Alt 29. Okt 2021, 06:19
Oder man nimmt das Event OnSelectCell.
Peter
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.270 Beiträge
 
Delphi 10.4 Sydney
 
#4

AW: Wie erfahre ich, auf welche Zeile im Stringgrid geklickt wurde?

  Alt 29. Okt 2021, 06:54
Hallo,
er will aber ein PopupMenu erstellen.
Und das wahrscheinlich auf die rechte Maustaste.
Heiko
  Mit Zitat antworten Zitat
Benutzerbild von KodeZwerg
KodeZwerg

Registriert seit: 1. Feb 2018
3.685 Beiträge
 
Delphi 11 Alexandria
 
#5

AW: Wie erfahre ich, auf welche Zeile im Stringgrid geklickt wurde?

  Alt 29. Okt 2021, 07:09
Hallo,
er will aber ein PopupMenu erstellen.
Und das wahrscheinlich auf die rechte Maustaste.
Zitat:
Wie erfahre ich, auf welche Zeile im Stringgrid geklickt wurde?
hmmmm, mal abwarten (-:
Gruß vom KodeZwerg
  Mit Zitat antworten Zitat
Benutzerbild von Jasocul
Jasocul

Registriert seit: 22. Sep 2004
Ort: Delmenhorst
1.337 Beiträge
 
Delphi 11 Alexandria
 
#6

AW: Wie erfahre ich, auf welche Zeile im Stringgrid geklickt wurde?

  Alt 29. Okt 2021, 07:25
Sorry, ich habe nur den Text gelesen und nicht den Source (der nicht mal compilieren würde).
Aber auch im Source steht nichts von rechter Maustaste. D.h.: Das PopUp wird auch bei linker Maustaste angezeigt. Und wenn ich schon am meckern bin: Bitte kein "with" im Source.
Peter
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.270 Beiträge
 
Delphi 10.4 Sydney
 
#7

AW: Wie erfahre ich, auf welche Zeile im Stringgrid geklickt wurde?

  Alt 29. Okt 2021, 07:33
Hallo,
das mit der rechten Maustaste hatte ich so im Gefühl
Heiko
  Mit Zitat antworten Zitat
Delphi.Narium

Registriert seit: 27. Nov 2017
2.415 Beiträge
 
Delphi 7 Professional
 
#8

AW: Wie erfahre ich, auf welche Zeile im Stringgrid geklickt wurde?

  Alt 29. Okt 2021, 09:38
Zitat von jumper63:
aber ich benötige die Angabe Col,Row, um die Werte der jeweiligen Zeile auszulesen.
Dafür braucht man eher kein Menü, egal mit welcher Maustaste.

Genauer als
Zitat von Jasocul:
Oder man nimmt das Event OnSelectCell.
geht es da nicht.
  Mit Zitat antworten Zitat
Benutzerbild von KodeZwerg
KodeZwerg

Registriert seit: 1. Feb 2018
3.685 Beiträge
 
Delphi 11 Alexandria
 
#9

AW: Wie erfahre ich, auf welche Zeile im Stringgrid geklickt wurde?

  Alt 29. Okt 2021, 09:46
OnSelect wird doch auch gefeuert wenn man mit Tastatur sich im Grid bewegt? (auf welche Zeile im Stringgrid geklickt wurde = maus event)
Gruß vom KodeZwerg
  Mit Zitat antworten Zitat
Delphi.Narium

Registriert seit: 27. Nov 2017
2.415 Beiträge
 
Delphi 7 Professional
 
#10

AW: Wie erfahre ich, auf welche Zeile im Stringgrid geklickt wurde?

  Alt 29. Okt 2021, 10:24
OnSelect wird doch auch gefeuert wenn man mit Tastatur sich im Grid bewegt? (auf welche Zeile im Stringgrid geklickt wurde = maus event)
Und für die Leute, die "so dreist sind" das Programm per Tastatur zu bedienen, bauen wir eine extra Lösung?

Ein Programm, bei dem ich bestimmte Aktionen nur per Maus erreichen kann, benutze ich nicht.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2   

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:55 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz