Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi ComboBox ohne VCL (https://www.delphipraxis.net/64326-combobox-ohne-vcl.html)

DevilsCamp 2. Mär 2006 08:58


ComboBox ohne VCL
 
Ich habe mit folgendem Code eine ComboBox erstellt:
Delphi-Quellcode:
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));
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.
Aber irgendwie finde ich keine Möglichkeit, den Text auszulesen. CB_GETLBTEXT erwartet ja leider einen Index :( und
Delphi-Quellcode:
SendMessage(HANDLE_DER_COMBOBOX, CB_GETLBTEXT, -1, Integer(@Buffer));
funktioniert leider nicht :(



<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>

Olli 14. Mai 2006 14:07

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