Einzelnen Beitrag anzeigen

Sidorion

Registriert seit: 23. Jun 2005
403 Beiträge
 
#3

Re: Combobox => Eingaben deaktivieren?

  Alt 29. Jan 2007, 11:21
zum 'Einträge nicht wählbar machen' fallen mir zwei Varianten ein:
1. über Event: Im OnSelect prüfst Du, ob der Eintrag auswählbar ist und wenn nein, stellst Du den alten Wert (den Du Dir in OnDorpDown gemerkt hast) wieder her und setzt die DroppedDown Prop der CB auf true.
2. TCustomComboBox überschreiben und dem Hanlde der Liste eine eigene WNDProc zuweisen (geht mit SetWindowLong) Da kannst Du in der Box prüfen, welches Item selektiert ist und falls es nicht auswählbar ist das Schlie0ßen verhindern.

Die 1. Variante ist hässlicher, weil das Ding trotzdem zuklappt, die 2. Variante komplizierter, weil Du erst ans ListHandle ranmusst und das geht nur bei Überschreiben der WndProc der ComboBox. Hier musst Du auf die Nachricht WM_CTLCOLORLISTBOX reagieren und das Handle der Liste ist dann im LParam.
Manchmal sehen Dinge, die wie Dinge aussehen wollen mehr wie Dinge aus, als Dinge
<Esmerelda Wetterwachs>
  Mit Zitat antworten Zitat