Animations von Dlgs und Views
-
Hallo zusammen ;),
ich hab folgende Frage(Problem), ich möchte mit der MFC meine Prg's ein bisschen beleben und Die Dlgs bzw. Views per Animation ein bisschen beleben.
Habt Ihr eine Ahnung wie das funktioniert, gibts da gute Tutorials zu dem Thema oder sogar Code-Snippets.

Dies hier ist nicht schlecht: http://www.codeproject.com/gdi/anieffect.aspich möchte aber keine fremde Header, Dll, Lib oder so verwenden !
Ich habe z.B. das hier gecodet (in View.cpp):
void CSieve1View::OnEnd() { int h; int w; CMainFrame *pFrame = (CMainFrame*)AfxGetMainWnd(); for (h = 450; h>= 350; h--) { pFrame->SetWindowPos (&wndTop,0,0,311, h,SWP_NOMOVE); Invalidate (); } Sleep (500); for (h = 350; h>= 0; h--) { pFrame->SetWindowPos (&wndTop,0,0,311, h,SWP_NOMOVE); } Sleep (500); for (w = 311; w>= 0; w--) { pFrame->SetWindowPos (&wndTop,0,0,w, 0,SWP_NOMOVE); } Invalidate (); AfxGetMainWnd()->PostMessage(WM_CLOSE); }um beim Schließen das View langsam zusammenzuschieben, man sieht aber bei diesem Effekt immen einen ünschönen grauen Hintergrund bis das View ganz geschlossen ist ;(.

Wäre super wenn ihr mir helfen könntet !
Vielen Dank schon mal für eure Mühe
ShadowEater
-
Dann must Du für ein UpdateWindow sorgen, dass das Fenster den Hintergrund neu zeichnen kann.
-
Hallo Martin,
danke für Deine schnelle Antwort, könntest Du mir auch sagen wie und wo ich das machen müsste, hab da echt keine Idee !
Danke nochmal

ShadowEater
-
Ich sehe jetzt erst, dass Du dies mit dem Main Window machst.
Das ist schwierig weil Du das Frame Window in dieser Weise schrumpfst. Du kennst ja das/die unterliegenenden Fenster nicht.Es ist ein Schuss ins Blaue:
FühreRedrawWindow(NULL,NULL,NULL,RDW_UPDATENOW|RDW_ALLCHILDREN);Nach jedem SetWindowPos aus.
Tipp: Verwende SWP_NOZORDER! Ich halte es nicht für gut, das Fenster Topmost zu setzen.
-
Danke Martin
,werde ich gleich ausprobieren !
Gruss
ShadowEater