ListBox zum Fenster hinzufügen
-
moin,
ist es möglich eine listbox zu einem Fenster ( kein Dialog) hinzuzufügen ?
LG und dank im voraus
-
Meinst du dein eigenes Fenster oder ein anderes ?

-
ich meine mein eigenes Fenster.
erst erstellen mit CreateWindow ... und danach eine ListBox hinzufügen, ohne die vorher in einer Resourcendatei zu definieren .
-
Ja, ist möglich. Die Fensterklasse darfst du selber rausfinden.
-
HWND hWnd; HWND hListBox; hInst = hInstance; // Instanzenhandle in der globalen Variablen speichern hWnd = CreateWindow(szWindowClass, szTitle, WS_OVERLAPPEDWINDOW, 0, 0, 200, 200, NULL, NULL, hInstance, NULL); if (!hWnd) { return FALSE; } hListBox = CreateWindowEx( WS_EX_CLIENTEDGE, _T("blah"), _T("listbox"), LBS_STANDARD | WS_CHILD | WS_VISIBLE | LBS_SORT | WS_VSCROLL | WS_TABSTOP, 0, 0, 50, 50, hWnd, NULL, hInstance, NULL); ShowWindow(hWnd, nCmdShow); ShowWindow(hListBox, nCmdShow); UpdateWindow(hListBox); UpdateWindow(hWnd); return TRUE;leider wird die Listbox nicht angezeigt

-
Wundert es Dich?
Das Parent ist nicht sichtbar!
WS_OVERLAPPEDWINDOW impliziert nicht WS_VISIBLE!
-
ja, das wundert mich schon, weil das ParentFenster sichtbar is.
Ich schreibe in der Winproc bei dem event WM_PAINT auch schon Text in das Fenster.es wird ja durch : ShowWindow(hWnd, nCmdShow); sichtbar.
-
Außerdem verwechselst du zweiten und den dritten Parameter. Der zweite Parameter ist die Fensterklasse.
MfG, Jochen
-
jo, vielen dank, das war der entscheidene hinweis ... der 2. Parameter war falsch !!
hListBox = CreateWindowEx( WS_EX_CLIENTEDGE, _T("LISTBOX"), _T("listbox"), LBS_STANDARD | WS_CHILD | WS_VISIBLE | LBS_SORT | WS_VSCROLL | WS_TABSTOP, 0, 0, 100, 100, hWnd, NULL, hInstance, NULL);vielen dank !!