Fenster (unbeabsichtigt) transparent



  • Hallo,

    ich seh meinen Fehler gerade nicht und hoffe du kannst mir helfen.
    Die SuFu hats leider nicht gebracht weil sich wohl noch niemand so phlöt angestellt hat 🤡

    Ich erstelle ein Fenster mit einem TabCtrl darauf.
    Das TabCtrl ist nicht ganz so lang wie das Hauptfenster so dass
    zB noch ein Button darunter passt. Die Tabs sind (standard-) grau.

    Der Bereich des Hauptfensters der zu sehen ist (also wo das TabCtrl aufhört)
    ist ungewollt transparent. Der sollte eigtl. auch im (standard-) grau glänzen 😞

    wndclass.hbrBackground	=	(HBRUSH)GetStockObject(GRAY_BRUSH);
    

    Ist es möglich das ich beim zeichnen des TabCtrls etwas falsch mache?
    ... und es dadurch zu der Transparenz kommt?

    // Create TabWindow - Hier stehen die selben WIDTH/HIGHT Werte wie im Hauptfenster
    			g_hTab = CreateWindow(WC_TABCONTROL, NULL, WS_CHILD | WS_VISIBLE, 0, 0, 250, 400, hWnd,(HMENU) ID_TABCTRL, g_hInst, NULL);
    
    case WM_SIZE:
    		{
    			phDlg    = (HWND*)GetWindowLongPtr(hWnd, GWLP_USERDATA);
    			hWndTemp = GetDlgItem(hWnd, ID_TABCTRL);
    
    	        // Hier setze ich das TabCtrl etwas kleiner wie das Fenster (-30)
    		    SetRect(&rc, 0, 0, LOWORD(lParam), HIWORD(lParam)-30);
    			MoveWindow(hWndTemp, 0, 0, rc.right, rc.bottom, TRUE);
    
    			SendMessage(hWndTemp, TCM_ADJUSTRECT, (WPARAM)FALSE, (LPARAM)&rc);
    			MoveWindow(phDlg[0], rc.left, rc.top, rc.right - rc.left, rc.bottom - rc.top, TRUE);
    			MoveWindow(phDlg[1], rc.left, rc.top, rc.right - rc.left, rc.bottom - rc.top, TRUE);
    
    			return(0);
    		}
    

    Gehe ich gar einen total falschen Weg um das TabCtrl auf dem Fenster korrekt darzustellen?

    😕


Anmelden zum Antworten