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 😞


  • Mod

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


Log in to reply