WS_EX_TRANSPARENT



  • Ich hab keine Probleme mir Buttons zu erstellen und wie erwartet anzeigen zu lassen. Nur wenn ich den WS_EX_TRANSPARENT Flag verwende wird der Button einfach nicht transparent angezeigt. Hier ein Auszug aus meinem Quellcode (wo ich meinen Fehler vermute)

    case WM_CREATE:
    		{
    			hOption = CreateWindowEx(WS_EX_TRANSPARENT,
    			"button",
    			"Beenden",
    			WS_CHILD | WS_VISIBLE,
    			0, 0, 0, 0,
    			hWnd,
    			NULL,
    			((LPCREATESTRUCT) lParam) -> hInstance,
    			NULL);
    
    			return 0;
         		 }
    
    		case WM_SIZE:
    		{
    			MoveWindow(hOption, 100,400,600,75,TRUE);
    
    			return 0;
    		}
    

    Und das sagt msdn dazu (was mir bei der Lösung des Problems aber nicht wirklich weitergeholfen hat):

    WS_EX_TRANSPARENT Specifies that a window created with this style is to be transparent. That is, any windows that are beneath the window are not obscured by the window. A window created with this style receives WM_PAINT messages only after all sibling windows beneath it have been updated.



  • Ich denke, dass es nicht genau das ist, was Du willst.
    Gib den Flag mal Deinem Fenster mit und schau Dir an, wie es sich dann verhält...



  • Du müsstest dich dann aber auch beim Button darum kümmern, dass dieser sich in WM_PAINT nicht zeichnet (dazu brauchst du wohl ownerdraw und WM_CTLCOLORBTN)


Anmelden zum Antworten