Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Tastendruck Pfeiltasten (https://www.delphipraxis.net/118348-tastendruck-pfeiltasten.html)

NinerForever 6. Aug 2008 08:49


Tastendruck Pfeiltasten
 
Guten Tag,

Bin Neuling was Programmierung angeht und habe eine (leichte?) Frage.
Ich benutze ein NiceGrid (ähnlich dem StringGrid), indem ich Sprungmarken verwende. Dieses NiceGrid hat teilweise bis zu 15.000 Zeilen. Durch diese Sprungmarken möchte ich das man sich verschiedene Punkte merken kann.

Ist eine Sprungmarke gesetzt, kann ich mit Shift + F1 an die gewünschte Zeile hin springen.

Dies funktioniert auch, jedoch aktualisiert er nicht die Position. Der Cursor springt zwar hin, jedoch wird mir die Zeile im Grid nicht angezeigt. Erst wenn ich eine Pfeiltaste drücke springt es in diese gesetzte Zeile.

Da ich dieses Problem schnellstens lösen muss, möchte ich einfach einmal wissen wie ich in der Funktion, die Pfeiltaste automatisch auslösen kann. Habe schon etliche Funktionen des NiceGrid durchsucht, welche mir das Grid aktualisieren oder neu zeichnen lässt (Refresh();, Repaint();)

Vielleicht kann mir ja jemand helfen. Sorry für die Märchenstunden ;)
Kann es nicht anders beschreiben.

DeddyH 6. Aug 2008 08:54

Re: Tastendruck Pfeiltasten
 
Hast Du mal versucht, TopRow zu setzen (wird es bei der Kompo ja hoffentlich auch geben)?

P.S.: Willkommen in der DP :dp:

NinerForever 6. Aug 2008 09:06

Re: Tastendruck Pfeiltasten
 
Danke fürs Willkommen ;)

Nein, diese Eigenschaft ist nicht vorhanden.
http://http://s7.directupload.net/fi...3/8j2rklmi_jpg

DeddyH 6. Aug 2008 09:13

Re: Tastendruck Pfeiltasten
 
Das Bild besagt ja nur, dass es keine published-Eigenschaft des Namens gibt, unter public kann sie trotzdem vorhanden sein. Versuch doch einfach mal, ob der Compiler dies hier anmeckert:
Delphi-Quellcode:
DeineGrid.TopRow := 0;

NinerForever 6. Aug 2008 09:22

Re: Tastendruck Pfeiltasten
 
okay, habe es gerade versucht, er meckert es auch an.
" Undefinierter Bezeichner 'TopRow' "

Fussball-Robby 6. Aug 2008 09:25

Re: Tastendruck Pfeiltasten
 
Kannst du evtl mal sagen, woher du das Grid hast? Dann könnten wir uns das mal angucken, ansonsten wird das hier jetzt ne Rätselstunde :wink:

DeddyH 6. Aug 2008 09:29

Re: Tastendruck Pfeiltasten
 
Ich habe sie bei Torry gefunden. Da gibt es eine public-Methode
Delphi-Quellcode:
procedure EnsureVisible(X, Y: Integer);
, die würde ich mal versuchen.

NinerForever 6. Aug 2008 09:29

Re: Tastendruck Pfeiltasten
 
Diesen Entwickler des Grids habe ich schon kontaktiert, bezüglich einen anderen Problems ;)

Hier habe ich das Grid her. Bin vom StringGrid auf dieses NiceGrid umgestiegen, da ich mit dem NiceGrid mehr Funktionen hatte, für mein Progrämmchen.

http://www.priyatna.org/nicegrid.php

Quelltext ist hier auch dabei.
Schaue mir gerade noch die Funktionen an des Grids, vielleicht werde ich ja fündig.

DeddyH 6. Aug 2008 09:30

Re: Tastendruck Pfeiltasten
 
Schau nochmal einen Post über Deinem ;)

NinerForever 6. Aug 2008 09:33

Re: Tastendruck Pfeiltasten
 
Wow diese Funktion hatts in sich :-D

Mit dieser funktioniert dies einwandfrei.

Vielen Vielen Dank für die Hilfe!
Bin jetzt wohl auch öfter mal hier.

:dp: :thumb:

NinerForever 7. Aug 2008 09:58

Re: Tastendruck Pfeiltasten
 
Gerade dieses NiceGrid hat Probleme beim scrollen.

Es ist dem Entwickler auch bekannt das es Probleme gibt.
Ich habe mich auch schon etliche Stunden mit einem Mitarbeiter beschäftigt, dieses Problem im Quelltext des NiceGrid zu beheben. vergeblich!

Sehr schwer einen nicht selbst entwickelten Code zu lesen/ändern.

Probleme macht das StringGrid beim scrollen mit der Maus. Thumbtrack etc.

Ist jetzt keine Aufforderung!!

Wenn jemand möchte, nach dem Problem zu schauen, kann er dies gerne einmal tun, vielleicht fällt euch ja etwas sinnvolles ein
Homepage des NiceGrid steht ein paar Einträge weiter oben. Wo man den Quelltext des Grids anschauen kann. Auch ein Beispiel NiceGrid ist dabei.

Wie gesagt, nur wenn jemand mal Zeit hat oder so ein ähnliches Problem hatte, wäre ich sehr froh wenn mir jemand helfen könnte. Ich weiß das es ein wenig Aufwand ist ;)

Es macht beim scrollen auch nur Probleme (unserer Meinung nach) bei der Funktion WMHScroll!
-SB_THUMBTRACK
-SB_THUMBPOSITION

Folgendes Beispiel habe ich:
Ich habe 6997 Zeilen in dem Nice Grid!
Nachdem ich mit der MAUS EIN VIERTEL nach unten scrolle, springt mir die Scrollbar automatisch wieder ganz nach oben im Stringgrid, nachdem ich die Maus los lasse.

Besten Dank schonmal für Eure Hilfe!


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:44 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