2011-07-13 6 views
0

Je souhaite redimensionner une fenêtre avec animation dans mon application. J'ai cherché partout mais je n'ai pas pu trouver des API Win32/MFC pour le faire. Le comportement d'animation dont j'ai besoin est très simple. C'est juste l'augmentation de la hauteur de la fenêtre. Veuillez me faire savoir comment je peux réaliser ce comportement.Win32 Animation de redimensionnement de la fenêtre

Répondre

-1
+0

Salut Roel, AnimateWindow semble très prometteur pour l'animation. Mais comment puis-je redimensionner de la hauteur 598 à 674? – fz300

+0

Vous avez raison et je me suis trompé; AnimateWindow() est seulement pour montrer/cacher des fenêtres. Vous devrez lancer votre propre animation. Vous pouvez soit le faire manuellement (redimensionner la fenêtre pas à pas avec une minuterie toutes les 100 ms environ); apparemment il y a aussi une classe pour l'interpolation de diverses manières dans la mise à jour SP1 à VS2010 (http://www.nuonsoft.com/blog/2010/12/16/the-new-mfc-animation-api/) mais j'ai jamais travaillé avec. – Roel

1

Vous pouvez réaliser des effets d'animation personnalisés en utilisant GDI. Commencez par obtenir les coordonnées et la position de la fenêtre en utilisant GetWindowRect. Cachez la fenêtre en utilisant ShowWindow. Dessinez maintenant votre animation en utilisant DrawRect, FillRect, etc dans une minuterie. Je recommande de remplir le rectangle en utilisant la couleur de la fenêtre système. Ensuite, affichez/redimensionnez la fenêtre à nouveau en utilisant ShowWindow lorsque l'animation est terminée.

Questions connexes