Die Combobox erzeugen


Die Combobox ist ohne VCL ein bisschen gewöhnungsbedürftig, aber machbar. Dieses Tutorial zeigt, wie man Einträge hinzufügt, löscht und ausgewählte Einträge ausliest und anzeigt.

Das Element wird mit "CreateWindowEx" erzeugt.
Wichtig sind hierbei aber zwei Dinge:

  1. Die angegebene Höhe ist die Höhe des Editfeldes inklusive der ausgeklappten Liste!

  2. Soll in der Liste ein Scrollbalken erscheinen, muss zusätzlich der Stil WS_VSCROLL benutzt werden!


Die wichtigsten Combobox-Stile (weitere finden Sie in der Hilfe und im MSDN):

Wert Bedeutung
CBS_AUTOHSCROLL Scrollt Text automatisch nach rechts, wenn der Anwender ein Zeichen am Ende der Zeile eingibt. Ohne diesen Stil kann die Textlänge nur der Breite der Eingabezeile entsprechen.
CBS_DISABLENOSCROLL Enthält die Liste nicht genügend Items zum Scrollen, wird der Scrollbalken deaktiviert dargestellt. Ohne diesen Stil wird der Scrollbalken in diesem Fall versteckt.
CBS_LOWERCASE, CBS_UPPERCASE Mit diesen Stilattributen lässt sich der Text in Klein-, bzw. Großbuchstaben konvertieren. Beide Attribute schließen sich aber gegenseitig aus, deshalb bitte nur einen verwenden.
CBS_SORT Sortiert die Strings in der Liste alphabetisch.


Oder als Auszug aus dem Beispielprogramm:

hCB := CreateWindowEx(0, 'COMBOBOX', '', WS_CHILD or WS_VISIBLE or
  CBS_AUTOHSCROLL or CBS_DROPDOWN or CBS_SORT or WS_VSCROLL, 10, 10, 150,
  150, hWnd, IDC_CB, hInstance, nil);