Eigene Client-Windows mit Keyboard-Fokus?



  • Hi!

    Ich habe eine Client-Klasse erstellt mit WNDCLASSEX + CreateWindowEx. Jedoch bekommt jenes Fenster kein Focus, wenn ich drauf klicke.

    WNDCLASSEX wc;
    
    wc.cbSize			= sizeof( wc );
    wc.cbClsExtra		= 0;
    wc.cbWndExtra		= 0;
    wc.hbrBackground	= (HBRUSH)(COLOR_APPWORKSPACE+1);
    wc.hCursor			= LoadCursor( NULL, IDC_ARROW );
    wc.hIcon			= LoadIcon  ( NULL, IDI_APPLICATION );
    wc.hIconSm			= LoadIcon  ( NULL, IDI_APPLICATION );
    wc.hInstance		= GetModuleHandle( NULL );
    wc.lpfnWndProc		= CWindow::WindowProcedure;
    wc.lpszClassName	= OPENGLWINDOW_CLASS;
    wc.lpszMenuName		= NULL;
    wc.style			= CS_HREDRAW | CS_VREDRAW | CS_OWNDC;
    
    unsigned dwExStyle = WS_EX_CLIENTEDGE;
    unsigned dwStyle   = WS_CHILD | WS_VISIBLE | WS_TABSTOP | WS_DLGFRAME;
    
    // Create window
    m_hWnd = CreateWindowEx( dwExStyle, OPENGLWINDOW_CLASS, "OpenGL",
    	dwStyle, 0, 0, 100, 100,
    	pParent->GetHandle( ), NULL, GetModuleHandle( NULL ), this );
    

    Was ist hier noch falsch? 😮

    Danke für jede Hilfe



  • case WM_LBUTTONDOWN:
        SetFocus(hwnd);
    


  • Okay, danke. Wußte nicht, dass man wieder so um Ecken denken muss. Dachte man würde das von Anfang an festlegen, dass das Ding Keyboard-Focus erhalten kann.

    Naja, danke.


Anmelden zum Antworten