AGB  ·  Datenschutz  ·  Impressum  







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

automatische Suche in ListBox abschalten

Ein Thema von delphin · begonnen am 30. Mär 2010 · letzter Beitrag vom 1. Apr 2010
Antwort Antwort
Seite 1 von 2  1 2      
delphin

Registriert seit: 21. Aug 2003
Ort: Chemnitz
29 Beiträge
 
Delphi 7 Professional
 
#1

automatische Suche in ListBox abschalten

  Alt 30. Mär 2010, 18:51
Hallo Freunde,

ich bin am Verzweifeln, weil ich in einer Listbox die Standardsuchfunktion einfach nicht deaktivert bekomme.

Wenn ich eine ListBox z.B. mit folgenden Daten im Create-Ereignis füttere:

Delphi-Quellcode:
with ListBox1 do
begin Items.Add('07159');
      Items.Add('f8130');
      Items.Add('10300');
      Items.Add('ab255');
      Items.Add('11150');
      Items.Add('17636');
end;
und nixweiter tue als das - kann ich mit den "Hoch" und "Runter"-Tasten wunderbar in der Liste navigieren.

Drücke ich die Taste "x" passiert auch nichts, d.h. der Kursor steht, wo er zuletzt eben stand und bewegt sich nicht, weil kein Eintrag mit "x" losgeht.

Drücke ich aber nunmehr eine "1", dann springt der Balken auf die erste vorhandene "1" sprich auf die 3. Stelle - in meinem Fall zur '10300'. Drücke ich erneut auf die Taste "1" springt er dann auf die 5 Position, usw.

Meine Frage: Welche Eigenschaft schaltet dieses ungewollte Sucheverhalten ab?

Für Eure Hinweise bin ich sehr dankbar.
Gruß Gerd
  Mit Zitat antworten Zitat
IceBube

Registriert seit: 9. Jul 2008
178 Beiträge
 
#2

Re: automatische Suche in ListBox abschalten

  Alt 30. Mär 2010, 19:00
Hallo!

Diese...
Delphi-Quellcode:
procedure TForm1.ListBox1KeyPress(Sender: TObject; var Key: Char);
begin
  Key := #0;
end;


lg
  Mit Zitat antworten Zitat
Benutzerbild von rapante
rapante

Registriert seit: 3. Jun 2009
Ort: OPR
172 Beiträge
 
Delphi 12 Athens
 
#3

Re: automatische Suche in ListBox abschalten

  Alt 30. Mär 2010, 19:10
...und damit das navigieren mit den PfeilTasten weiterhin funktioniert...

Delphi-Quellcode:
procedure TForm1.ListBox1KeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  if not Key in [VK_UP, VK_DOWN] then
    Key := 0;
end;
Micha
  Mit Zitat antworten Zitat
Benutzerbild von BUG
BUG

Registriert seit: 4. Dez 2003
Ort: Cottbus
2.094 Beiträge
 
#4

Re: automatische Suche in ListBox abschalten

  Alt 30. Mär 2010, 19:15
Zitat von rapante:
...und damit das navigieren mit den PfeilTasten weiterhin funktioniert...

Code:
procedure TForm1.ListBox1KeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  if not Key in [VK_UP, VK_DOWN] then
    Key := 0;
end;
Hast du es ausprobiert? Es funktioniert auch so mit den Pfeiltasten.

Zudem haust du virtuelle Tastencodes und Buchstaben durcheinander.

EDIT:

Entschuldigung, war auf KeyPress festgefahren
Intellekt ist das Verstehen von Wissen. Verstehen ist der wahre Pfad zu Einsicht. Einsicht ist der Schlüssel zu allem.
  Mit Zitat antworten Zitat
delphin

Registriert seit: 21. Aug 2003
Ort: Chemnitz
29 Beiträge
 
Delphi 7 Professional
 
#5

Re: automatische Suche in ListBox abschalten

  Alt 30. Mär 2010, 20:26
Hallo,

also ich dachte ja, da gibts irgend so einen verborgenen Schalter der Art

ListBox1.wasweißichnicht:=disable

aber wie es scheint, kann man es tatsächlich beim KeyPressed-Event verbiegen.

Delphi-Quellcode:
procedure TForm1.ListBox1KeyPress(Sender: TObject; var Key: Char);
begin
  Key := #0;
end;
Funktioniert bei mir und das navigieren mit den Pfeiltasten geht auch noch!!!

Das verändern des Wertes im KeyDown-Event bringt dagegen garnichts, will sagen:

Delphi-Quellcode:
procedure TForm1.ListBox1KeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  if not Key in [VK_UP, VK_DOWN] then
    Key := 0;
end;
der Rollbalken springt bei mir immer noch auf den entsprechenden Eintrag in der Listbox ???

und über einen Schalter gehts wirklich nicht ?

Viele Grüße
Gerd
  Mit Zitat antworten Zitat
Benutzerbild von BUG
BUG

Registriert seit: 4. Dez 2003
Ort: Cottbus
2.094 Beiträge
 
#6

Re: automatische Suche in ListBox abschalten

  Alt 30. Mär 2010, 21:22
Zitat von delphin:
Das verändern des Wertes im KeyDown-Event bringt dagegen garnichts, will sagen:
Im KeyDown-Code war die Klammerung falsch, so geht es:
Delphi-Quellcode:
procedure TForm1.ListBox1KeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  if not (Key in [VK_UP, VK_DOWN]) then
    Key := 0;
end;
Intellekt ist das Verstehen von Wissen. Verstehen ist der wahre Pfad zu Einsicht. Einsicht ist der Schlüssel zu allem.
  Mit Zitat antworten Zitat
m.wollert

Registriert seit: 18. Aug 2003
Ort: Heilbronn
92 Beiträge
 
FreePascal / Lazarus
 
#7

Re: automatische Suche in ListBox abschalten

  Alt 30. Mär 2010, 21:55
Hi,

ehrlich gesagt würde ich aber noch PageUp, PageDown, Home und End in die Ausnahme einfügen.

Grüße
Michael
Michael
*Im Auftrag ewiger Jugend und Glückseligkeit*
  Mit Zitat antworten Zitat
delphin

Registriert seit: 21. Aug 2003
Ort: Chemnitz
29 Beiträge
 
Delphi 7 Professional
 
#8

Re: automatische Suche in ListBox abschalten

  Alt 30. Mär 2010, 22:52
Vielen Dank für Eure Mithilfe,

da es ja offensichtlich keinen Schalter gibt, der den Suchsprung verhindert, werde ich Eure Lösungen mit dem Key:=0 als Lösung nehmen.

Viele Grüße
Gerd
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#9

Re: automatische Suche in ListBox abschalten

  Alt 30. Mär 2010, 23:01
Ich meine mich Erinnern zu können das es eine Eigenschaft(Property) bei der Listbox gab um dies zu deaktivieren. Sollte sogar im Objektinspektor zu sehen sein.
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#10

Re: automatische Suche in ListBox abschalten

  Alt 31. Mär 2010, 01:19
Delphi-Referenz durchsuchenTListBox.AutoComplete
Geht auf jeden Fall in D2010
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 22:57 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