Objekte transparent machen



  • oh, vielen dank, aber wie kann ich da angeben, um wie viel prozent das child window transparent sein soll?



  • gar nicht



  • ...ich hab allerdings schon viele programme gesehen, die z.B. so eine art preloader haben und wenn das programm geladen ist, wird der preloader langsam unsichtbar, irgendwie muss das doch zu realisieren sein ?!



  • AnimateWindow?



  • oi, das ist ja mal interessant, vielen dank!



  • hm, also irgendwie blick ich da nicht durch, wie kann ich denn ein fenster innerhalb von 200ms unsichtbar werden lassen? ich dachte so:

    AnimateWindow(hWnd, 200, AW_BLEND | AW_HIDE);

    aber dann wird es einfach nur plötzlich unsichtbar



  • *spam*

    ich habs jetzt, ich musste das attribut WS_EX_LAYERED beim fenster entfernen.

    Allerdings funktioniert dieser Alpha-Effekt doch auch nicht bei Child Fenstern, oder?



  • The function will fail in the following situations:
    When trying to animate a child window with AW_BLEND.

    Das hat ja auch absolut keinen Sinn ein Child Window einzublenden.



  • find ich schon, aber egal. danke.



  • Hi @ll,
    ich habe gerade überlegt das es eine tolle sache ist, ich wills mal ausprobieren, allerdings habe ich gerade erstaunt festgestellt, das ich ne meldung bekomme:

    error: `AW_BLEND' undeclared (first use in this function)
    error: `AW_HIDE' undeclared (first use in this function)
    

    Is ja uch egal, wenns fehlschlagen würde, aber dass er die nicht kennt, habe schon die user32.lib mit eingebunden, windows.h auch.. Nach MSDN sollte das beides reichen.

    lb_File = CreateWindow( "LISTBOX", "", LBS_NOTIFY | WS_OVERLAPPED | WS_CHILD | WS_VSCROLL | WS_HSCROLL | WS_VISIBLE | WS_DLGFRAME, 10, 10, 200, 400, myWnd, (HMENU)lb_m_File, ((LPCREATESTRUCT)lParam)->hInstance, NULL );
    if( lb_File )
    {
        AnimateWindow(lb_File, 2000, AW_BLEND | AW_HIDE);
        fillFileList();
    }
    

    Was habe ich vergessen? Sieht das jemand auf die schnelle?

    [edit]hatt #define winver vergessen



  • Also sehr animiert sieht das nicht aus:

    printf( "%d\n", AnimateWindow( lb_File, 200, AW_HIDE | AW_VER_NEGATIVE ) );
    

    gibt 1 zurück, also succeed, allerdings ohne

    InvalidateRect( myAppWnd, NULL, TRUE );
    

    in der nächsten Zeile, funtzt da nichts... und dann ist das Fenster so weg als ob ichs einfach per Showwindow hide..

    Ich will es ein- und ausblenden mit jeweils 500 ms.. weis da jemand einen Rat, es ist ein CHILD window!!!

    Danke schon jetzt

    [edit] passt garnicht in diesen thread, mache einen detailierteren auf


Anmelden zum Antworten