Win32 API Combobox->Einträge

elfvyn

Mitglied
Hi Leutz, ich habe eine Combobox erstellt aber ihrgendwie bekomme ich es nicht hin dieser Einträge zuzuweisen...
Hier mal der code
Code:
  /*--------------------------------------------------------------------------*/
  /*                                  ComboBox                                */
  /*--------------------------------------------------------------------------*/

hwnd  =  CreateWindowEx( 0L,
	                 "combobox",
	                 "cmb",
	                 WS_CHILD | WS_VISIBLE | WS_BORDER| CBS_DROPDOWN | CBS_AUTOHSCROLL |CBS_HASSTRINGS,
	                 0,
	                 0,
	                 0,
	                 0,
	                 hWndParent,
	                 NULL,
	                 hInstance,
	                 NULL );

SetWindowPos(hwnd,HWND_BOTTOM,rectListBox.left,rectListBox.top,rectListBox.right,rectListBox.bottom,SWP_SHOWWINDOW);

UINT test0=SendMessage(ArraySliderWndListBox[a],(UINT) CB_ADDSTRING,0, reinterpret_cast<LPARAM>((LPCTSTR)"Eintrag0"));
UINT test1=SendMessage(ArraySliderWndListBox[a],(UINT) CB_ADDSTRING,0,(LPARAM) "Eintrag1" );

Ihrgendwas kann ja wohl nicht stimmen.. die Box erscheint aber ich kann Sie nicht öffnen Die Errorcodes test0 und test1 geben wie erwartet den Index des Eintrages zurück... soweit stimmts also...kp

thx schonmal im vorraus
 
Oh hab eben was falsches als code angegeben mom hier der richtige:
Code:
  /*--------------------------------------------------------------------------*/
  /*                                  ComboBox                                */
  /*--------------------------------------------------------------------------*/

hwnd  =  CreateWindowEx( 0L,
	                 "combobox",
	                 "cmb",
	                 WS_CHILD | WS_VISIBLE | WS_BORDER| CBS_DROPDOWN | CBS_AUTOHSCROLL |CBS_HASSTRINGS,
	                 0,
	                 0,
	                 0,
	                 0,
	                 hWndParent,
	                 NULL,
	                 hInstance,
	                 NULL );

SetWindowPos(hwnd,HWND_BOTTOM,rectListBox.left,rectListBox.top,rectListBox.right,rectListBox.bottom,SWP_SHOWWINDOW);

UINT test0=SendMessage(hwnd,(UINT) CB_ADDSTRING,0, reinterpret_cast<LPARAM>((LPCTSTR)"Eintrag0"));
UINT test1=SendMessage(hwnd,(UINT) CB_ADDSTRING,0,(LPARAM) "Eintrag1" );
 
Wie gross ist das rectListBox? Die Höhe beinhaltet die Grösse der Dropdown-List, mach also das rect mindestens 40 Einheiten hoch, damit wenigstens ein Item in die Liste passt!

Ansonsten sieht das sauber aus.
 
Weiss jemand wie ich das ding jetzt auch noch schreibgeschützt bekomme.. also das man nichts reintippen, aber trotzdem auswählen kann?
 
Dann musst du als Stil Dropdown-Listenfeld statt Dropdown auswählen (oder unter Win32 CBS_DROPDOWNLIST statt CBS_DROPDOWN bei CreateWindow angeben)
 
Zurück