AGB  ·  Datenschutz  ·  Impressum  







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

Verhalten der TCombobox ändern

Ein Thema von khh · begonnen am 5. Feb 2011 · letzter Beitrag vom 12. Feb 2011
Antwort Antwort
khh

Registriert seit: 18. Apr 2008
Ort: Südbaden
1.903 Beiträge
 
FreePascal / Lazarus
 
#1

Verhalten der TCombobox ändern

  Alt 5. Feb 2011, 09:18
Hallo zusammen,
ich habe eine TCombobox auf einem Formular.

als Style ist csOwnerDrawVariable eingestellt.
csDropdownList möchte ich nicht verwenden.

Diese Combobox ist mit Artikelnummern bestückt die NICHT unbedingt fortlaufend sein müssen.

Nun ist ja das Verhalten der Box so, dass bei Auswahl der Nummern per dropdown die gewählte Nummer markiert und der ItemIndex gesetzt wird.
Durch Abfrage des Key im onkeydown verlasse ich das Feld bei VK_RETURN und übernehme die hinter der Artikelnummer stehende Artikel_id.
Das funktioniert soweit der Anwender die Nummern per dropdown auswählt.
Tippt der Nutzer die Nummer händisch ein wird der erste mögliche Eintrag gwählt und solange die Nummer _vor_ der vollständigen Eingabe ausgewählt wird ebenfalls übernommen.
Soweit so gut.
Gibt der Anwender die Nummer aber vollständig händisch ein, wir der Itemindex nicht verändert und ich habe keine Zuordnung zur ID
Dazu muss dann erst die VK_DOWN gedrückt werden.
Ich habe den Druck der VK_DOWN nun simuliert, dadurch ist aber ein wiederholtes Drücken der Returntaste nötig.
Also auch nicht das Gelbe vom Ei
ich hoffe ich habe mich verständlich ausgedrückt.

Hat jemand ne andere Idee, oder gibts da ne Einstellung die ich übersehen habe?

Danke Gruss KHH
Karl-Heinz
  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
 
#2

AW: Verhalten der TCombobox ändern

  Alt 5. Feb 2011, 10:19
Ermittle beim Verlassen doch den ItemIndex
cbArtikel.ItemIndex := cbArtikel.Items.IndexOf( cbArtikel.Text ); Jetzt kannst du auch reagieren, wenn der Wert so gar nicht stimmt
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
khh

Registriert seit: 18. Apr 2008
Ort: Südbaden
1.903 Beiträge
 
FreePascal / Lazarus
 
#3

AW: Verhalten der TCombobox ändern

  Alt 5. Feb 2011, 11:08
Ermittle beim Verlassen doch den ItemIndex
cbArtikel.ItemIndex := cbArtikel.Items.IndexOf( cbArtikel.Text ); Jetzt kannst du auch reagieren, wenn der Wert so gar nicht stimmt
Das ist gerade mein Problem.
Wenn die Artikelnummer komplett manuell eingegeben wird bekomme ich keinen Index zurück
Karl-Heinz
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: Verhalten der TCombobox ändern

  Alt 5. Feb 2011, 11:10
Dann versuche mal die Länge des Textes beim Vergleich zu beschränken
Markus Kinzler
  Mit Zitat antworten Zitat
khh

Registriert seit: 18. Apr 2008
Ort: Südbaden
1.903 Beiträge
 
FreePascal / Lazarus
 
#5

AW: Verhalten der TCombobox ändern

  Alt 5. Feb 2011, 11:20
Dann versuche mal die Länge des Textes beim Vergleich zu beschränken
da stehe ich jetzt auf der Leitung

Wie meinst du das ?

Die Anzahl Zeichen die eigegeben werden können beschränken?
Karl-Heinz
  Mit Zitat antworten Zitat
khh

Registriert seit: 18. Apr 2008
Ort: Südbaden
1.903 Beiträge
 
FreePascal / Lazarus
 
#6

AW: Verhalten der TCombobox ändern

  Alt 12. Feb 2011, 06:59
Ermittle beim Verlassen doch den ItemIndex
cbArtikel.ItemIndex := cbArtikel.Items.IndexOf( cbArtikel.Text ); Jetzt kannst du auch reagieren, wenn der Wert so gar nicht stimmt

Das ist gerade mein Problem.
Wenn die Artikelnummer komplett manuell eingegeben wird bekomme ich keinen Index zurück


war Quatsch, sorry hatte da wohl nicht richtig gelesen

Funktioniert natürlich so super.
ich danke dir!
Karl-Heinz
  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
 
#7

AW: Verhalten der TCombobox ändern

  Alt 12. Feb 2011, 07:47
Wollte auch gerade schon 2 Kochlöffel holen und dich zum Löffelspiel einladen
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
khh

Registriert seit: 18. Apr 2008
Ort: Südbaden
1.903 Beiträge
 
FreePascal / Lazarus
 
#8

AW: Verhalten der TCombobox ändern

  Alt 12. Feb 2011, 08:08
Wollte auch gerade schon 2 Kochlöffel holen und dich zum Löffelspiel einladen
Danke, das kenn ich schon
Karl-Heinz
  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 23:58 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