DialogBox Hintergrund ändern?



  • Hi Leute,

    Ich habe ein größeres Programm gebaut. Es ist perfekt, nur es fehlt noch ein guter Hintergrund.

    Den habe ich auch bereits, nur leider lässt er sich nicht vernünftig einfügen:

    SetWindowClass mit GCL_HBRBACKGROUND funktioniert anschienend bei einer DialogBox nicht 😡

    Ich habe das ganze fenster als resource, muss ich jetzt auf alles pfeifen und alle Knöpfe mit CreateWindow etc. erstellen, nur um einen Hintergrund einzufügen?

    Habe es wie gesagt hiermit versucht:

    case WM_INITDIALOG:
    		{
    HBITMAP bmpbackground = LoadBitmap((HINSTANCE) GetModuleHandle(NULL), MAKEINTRESOURCE (ID_BG));
    			HBRUSH background = CreatePatternBrush(bmpbackground); 
    			SetClassLong (hWin, GCL_HBRBACKGROUND, (LONG) background);
    			InvalidateRect(hWin,0,TRUE);
    			UpdateWindow(hWin);
    }
    

    gibt auch alles ERROR_SUCCESS zurück, nur es tut sich nichts im Dialog.

    Danke schonmal!
    👍


  • Mod

    Deine Methode ist falsch, benutze WM_ERASEBKGND um den Hintergrund gemäß Deinen Vorstellungen einzufärben.
    Möglich ist auch die Behandlung von WM_CTLCOLORDLG.



  • Aber ich möchte den Hintergrund ja nicht färben, sondern eine Bitmap reinladen



  • Dank der hilfreichen Stichworte konnte ich es finden 🙂

    for(int i = 0; i < 1000; ++i)
    {
        cout << "Vielen Dank Martin Richter!" << endl;
    }
    

Anmelden zum Antworten