AGB  ·  Datenschutz  ·  Impressum  







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

listbox tastatur Ereignis

Ein Thema von quasinix · begonnen am 1. Aug 2005 · letzter Beitrag vom 1. Aug 2005
Antwort Antwort
quasinix

Registriert seit: 12. Mai 2004
13 Beiträge
 
#1

listbox tastatur Ereignis

  Alt 1. Aug 2005, 13:50
Hallo,
ich möchte bei einer Listbox verschiedene Tastaturbefehle einbauen. Hierfür benutze ich das OnKeyDown-Ereignis der Listbox. Mit den Funktionstasten klappt das auch ganz wunderbar (zumindest bis F9).

Wenn ich aber z.B. versuche irgendeine Zahlentaste zu benutzen springt die Listbox immer automatisch zu der Zeile die mit der getippten Zahl anfängt.

Kann man irgendwie die diese voreingestellten Tastenereignisse ausschalten? Muss ich ein anderes Ereignis nehmen?

Viele Grüße

Quasinix
  Mit Zitat antworten Zitat
Kompon Ente
(Gast)

n/a Beiträge
 
#2
  Alt 1. Aug 2005, 13:53
Vielleicht, indem du den Focus disablest? Sonst kA
  Mit Zitat antworten Zitat
quasinix

Registriert seit: 12. Mai 2004
13 Beiträge
 
#3

Re: listbox tastatur Ereignis

  Alt 1. Aug 2005, 14:07
Hallo Janosch,
danke für die schnelle Antwort.

Wenn ich den Focus desable kann ich reagiert die listbox auch nicht mehr auf Tastaturereignisse?!

Gruß

Quasinix
  Mit Zitat antworten Zitat
quasinix

Registriert seit: 12. Mai 2004
13 Beiträge
 
#4

Re: listbox tastatur Ereignis

  Alt 1. Aug 2005, 14:50
Hallo nochmal,
ich habe gerade eine Lösung gefunden die etwas gefummelt ist.

Und zwar habe ich herausgefunden, dass sich der itemindex bei dem Ereignis OnKeyDown noch nicht geändert hat. Bei dem Ereignis OnKeyUp hat er sich aber geändert. Meine Lösung:

1. beim OnKeyDown-Ereignis den itemindex in eine globale Variable schreiben.
2. beim OnKeyUp-Ereignis den in der globalen Variable gespeicherten itemindex wieder zurückschreiben.

Nachteil: Die Markierung in der Listbox flippert zuerst zu dem automatisch selektierten itemindex und nach dem OnKeyUp-Ereignis wieder zu dem entsprechenden alten itemindex.

Wenn jemand eine bessere Lösung hätte (oder eine Idee wie ich die Methode verfeinern könnte) währe ich sehr froh.

Viele Grüße

Quasinix
  Mit Zitat antworten Zitat
Benutzerbild von Lannes
Lannes

Registriert seit: 30. Jan 2005
Ort: Münster
745 Beiträge
 
Delphi 3 Professional
 
#5

Re: listbox tastatur Ereignis

  Alt 1. Aug 2005, 15:00
Hallo,

nimm das onKeyPress-Event:
Delphi-Quellcode:
if key in ['0'..'9'] then
  begin
  showmessage(key);//irgendwas ausführen
  key := #0;//Taste unterdrücken
  end;
MfG Lannes
(Nichts ist nicht Nichts) and ('' <> nil ) and (Pointer('') = nil ) and (@('') <> nil )
  Mit Zitat antworten Zitat
quasinix

Registriert seit: 12. Mai 2004
13 Beiträge
 
#6

Re: listbox tastatur Ereignis

  Alt 1. Aug 2005, 15:05
Hallo Lanes,

das
key := #0;//Taste unterdrücken war genau das was ich gesucht habe.


Vielen Dank
Quasinix
  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 01:04 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