![]() |
Bug in TStringGrid?
Hallo,
Ein TStringGrid ist in der Größe vom Benutzer veränderbar. Es kann dann also auch so groß gemacht werden, daß die letzte Zeile nicht komplett sichtbar ist. Wenn nun der Nutzer die letzte (nur teilweise sichtbare) Zeile mit der Maus anklickt, fängt das Fenster an zu scrollen, und wenn die Maus losgelassen wird, ist die letzte Zeile der Tabelle markiert. Beispiel: Es ist an den Anfang der Tabelle gescrollt und es sind knapp 3 Zeilen sichtbar. Die Tabelle enthält 10 Zeilen. Wird nun auf den 3 Eintrag geklickt (der ausgewählt werden soll) beginnt das Fenster zu scrollen, und wenn man die Maustaste loslässt, ist statt des 3. der 10. Eintrag markiert. Hat jemand eine Idee, wie man das Verhalten so ändern kann, daß die gewünschte Zeile problemlos mit der Maus markiert werden kann, auch wenn sie nicht voll sichtbar ist? |
AW: Bug in TStringGrid?
Wäre schön wenn du deine Delphi Version angeben würdest
|
AW: Bug in TStringGrid?
@Sir Rufo das geht auch mit XE und XE3 wenn goEditing abgeschaltet ist.
Ein nettes Problem, leider komme ich gerade nicht dazu :-( |
AW: Bug in TStringGrid?
Zitat:
Außerdem ist goRowSelect aktiviert (das hat aber keinen Einfluss) |
AW: Bug in TStringGrid - die Lösung
Meine Lösung sieht nun wie folgt aus, der Code kommt in die OnMouseDown-Behandlung:
Code:
with Sender as TStringGrid do
if y > DefaultRowHeight * (VisibleRowCount + FixedRows) then SendMessage(Handle, WM_LBUTTONUP, x, y); |
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:58 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-2025 by Thomas Breitkreuz