![]() |
ComboBox ohne VCL
Ich habe mit folgendem Code eine ComboBox erstellt:
Delphi-Quellcode:
Nun möchte ich die Möglichkeit nutzen, dass ich das Edit-Feld der Combobox editieren kann um den String dann nach einen Klick auf einen Button in der Combobox einfügen zu lassen.
hwndArray.Add('hwndPresets', CreateWindowEx(0, 'COMBOBOX',
'', WS_CHILD or WS_VISIBLE or CBS_AUTOHSCROLL or CBS_DROPDOWN or CBS_SORT or WS_VSCROLL, 5, 17, 200, 150, hwnd, IDC_COMBO, hInstance, nil)); Aber irgendwie finde ich keine Möglichkeit, den Text auszulesen. CB_GETLBTEXT erwartet ja leider einen Index :( und
Delphi-Quellcode:
funktioniert leider nicht :(
SendMessage(HANDLE_DER_COMBOBOX, CB_GETLBTEXT, -1, Integer(@Buffer));
<edit> Kommando zurück. Mir fiel in dem Moment in dem ich auf posten geklickt habe, dass ich es mal mit GetWindowText versuchen könnte. :wall: :wall: </edit> |
Re: ComboBox ohne VCL
Um das nochmal aufzuklären:
die Combobox besteht ja quasi aus einem EDIT und einer LISTBOX. Die o.g. Nachricht (CB_GETLBTEXT: LB == ListBox) kann nur den Text aus der "Listbox" holen, welche zur Combobox gehört. WM_GETTEXT (oder GetWindowText) hingegen lesen das EDIT-Feld aus. So einfach ist das, wenn man's Prinzip kennt. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:07 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz