AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Scroll-Tastaturereignis in Listbox abfagen

Ein Thema von Pfoto · begonnen am 10. Mär 2008 · letzter Beitrag vom 10. Mär 2008
Antwort Antwort
Pfoto

Registriert seit: 26. Aug 2005
Ort: Daun
541 Beiträge
 
Turbo Delphi für Win32
 
#1

Scroll-Tastaturereignis in Listbox abfagen

  Alt 10. Mär 2008, 15:53
Hallo zusammen!

Ich will eine Item-Tauschen Funktion in eine Listbox
implementieren, wenn der User STRG+Pfeiltaste drückt.

Dazu überschreibe ich OnKeyUp und fange die Tasten
mit VK_UP und VK_DOWN ab.

Wie sich herausstellt, ist zu diesem Zeitpunkt jedoch
schon der ItemIndex ebenfalls weitergerückt, so dass
ich keine Item-Welchsel-Dich Sache einbauen kann.



Delphi-Quellcode:
procedure TAdvListBox.KeyUp(var Key: Word; Shift: TShiftState);
begin
  case Key of
    { Item-Position vertauschen }
    VK_UP: If ssCtrl in Shift then DoMoveItem(ItemIndex+1, -1);
    VK_DOWN: If ssCtrl in Shift then DoMoveItem(ItemIndex-1, +1);
   else
    inherited KeyUp(Key, Shift);
  end;
end;

Der Methode DoMoveItem gebe ich aktuelle mit ItemIndex +1 / -1
den vorherigen ItemIndex mit -- aber natürlich funktioniert
dass nicht, wenn der ItemIndex am Anfang oder Ende steht.

Ich komme also nicht umhin, den echten ItemIndex kurz
nach dem Drücken der Pfeiltasten auszulesen, noch bevor
der ItemIndex in der Listbox aktualisiert wird.


Wisst ihr, wie ich das bewerkstelligen kann?



Dank und Gruß
Pfoto
Jürgen Höfs
  Mit Zitat antworten Zitat
Benutzerbild von mirage228
mirage228

Registriert seit: 23. Mär 2003
Ort: Münster
3.750 Beiträge
 
Delphi 2010 Professional
 
#2

Re: Scroll-Tastaturereignis in Listbox abfagen

  Alt 10. Mär 2008, 15:56
Hey,

Versuch mal das OnKeyDown Ereignis.

mfG
mirage228
David F.

May the source be with you, stranger.
PHP Inspection Unit (Delphi-Unit zum Analysieren von PHP Code)
  Mit Zitat antworten Zitat
Pfoto

Registriert seit: 26. Aug 2005
Ort: Daun
541 Beiträge
 
Turbo Delphi für Win32
 
#3

Re: Scroll-Tastaturereignis in Listbox abfagen

  Alt 10. Mär 2008, 16:30
auf diese einfache Lösung bin ich gar nicht gekommen,
aber es funktioniert (und mit OnKeyDown kann ich in
diesem Fall gut leben).

Danke für den Tipp!

Gruß
Pfoto
Jürgen Höfs
  Mit Zitat antworten Zitat
Antwort Antwort


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 06:14 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