![]() |
StringGrid Selection Y Wert ist ungenau!?? Hilfe!
Hallo!
Also ich habe ein TStringGrid und da goRangeSelect=False und goRowSelect=True, ich kann also immer nur eine einzige ganze Row auswählen. So jetzt will ich dass wenn ich eine Row anklicke (= selectiere) über irgendein Event z.b. OnSelectCell herausfinden _WELCHE_ Row selektiert wurde. PROBLEM: Wenn ich im Event OnSelectCell den Wert StringGrid.Selection.Y auslese kommt dabei immer ein anderer Wert raus je nachdem WIE ich die Row ausgewählt habe: Wenn ich mit der Maus eine Row anklicke dann gibt StringGrid.Selection.Y einen Wert an der von 0 (erste Row) bis X (Letzte Row) läuft, das funktioniert auch, so kann ich also die Row die ausgewählt ist bekommen. ABER wenn ich jetzt nicht mit der Maus sondern mit den Pfeiltasten oder mit dem Mausrad die Selektion ändere kriege ich plötzlich ganz andere Werte für StringGrid.Selection.Y ! Jetzt fängt die Liste plötzlich nicht bei 0 sondern bei 1 an und es gibt Sprünge z.b. springt er wenn ich von oben nach unten durchgehe mit Pfeiltaste von 1 nach 0 nach 1 nach 2 nach 3 usw.... Das heißt also ich krieg immer andere Werte je nachdem mit welcher Methode ich selektiere und das kann ja wohl nicht sein denn ich muss ja genau wissen welche Row selektiert ist egal WIE sie selektiert wurde. BITTE HILFE !! |
Re: StringGrid Selection Y Wert ist ungenau!?? Hilfe!
Herzlich willkommen in der Delphi-PRAXiS, Shadowsong1986.
Kannst du nicht einfach die Eigenschaft Row des StringGrids auswerten? Freundliche Grüße |
Re: StringGrid Selection Y Wert ist ungenau!?? Hilfe!
Die Eigenschaft Rows[] des StringGrid gibt genau das gleiche zurück was Selection.Y zurückgibt also das Problem bleibt das gleiche.
|
Re: StringGrid Selection Y Wert ist ungenau!?? Hilfe!
Hm hab das Problem gelöst bzw. habs umgangen. Wenn ich nicht das Event vom StringGrid benutze sonder stattdessen einen Timer der jede Millisekunde den Wert StringGrid.Row ausliest, dann bekomme ich ein genaues und einheitliches Ergebnis.
najo damit kann ich auch die selektierte Row auslesen. :dp: |
Re: StringGrid Selection Y Wert ist ungenau!?? Hilfe!
Hallo
onselectcell wird ausgelöst, bevor die Zelle ausgewählt wird. Du kannst ja bei onselectcell noch verhindern, daß die Zelle überhaupt ausgewählt werden kann. Wenn Du selection oder row dort ausliest, wirst du immer die Werte bekommen, welche Zelle vorher selektiert war. Du mußt bei onselectcell die übergebenen Acol und Arow auswerten, das ist dann die Zeile, die du gerade auswählst. Ein Timer ist sicher keine gute Lösung. Mfg Frank |
Re: StringGrid Selection Y Wert ist ungenau!?? Hilfe!
Funktioniert perfekt mit OnSelectCell und ARow !!
Danke nochmal! Jetzt brauch ich auch keinen Timer :angel: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:29 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz