Je crée un programme de fenêtre utilisant VC ++ via Win32 API. Je voulais créer une fenêtre en forme d'ellipse comment cela peut être poursuivi. p>
4 Réponses :
Utilisez Setwindowrgn pour faire la zone de dessin de la fenêtre un Région elliptique. Cela empêche de dessiner à la fenêtre la limite de l'ellipse. P>
Le seul problème avec l'utilisation de Setwindowrgn est des régions sont difficiles à créer des formes complètement arbitraires. P>
Windows 2000 introduit des fenêtres en couches pour résoudre ceci et comment Clippy a pu échapper aux limites de sa fenêtre. P>
voir http://msdn.microsoft.com/en-us/ Bibliothèque / MS997507.ASPX Pour plus d'informations sur les fenêtres en couches. P>
Utilisation et Doc officiel pour UpdateLayeredWindow:
http://msdn.microsoft.com/en-us/ Bibliothèque / MS633556 (vs.85) .aspx P> ws_ex_layered code> dans votre attribut de style Windows et appeler updateLayeredwindow code> est probablement le moyen le plus flexible de contrôler une fenêtre de forme personnalisée / transparente à l'aide de l'API Win32. Il y a une excellente pause (bien que un peu vieux) sur MSDN:
http://msdn.microsoft.com/en-us/library/ms997507.aspx p>
Eh bien, c'est une réponse si tardive, mais je pensais qu'il serait important que vous sachiez. Il existe un logiciel gratuit génère un code source pour VB, C ++, C # et Delphi.Tous que vous devez faire est de concevoir votre formulaire dans Photoshop ou quel que soit le peintre, que ce logiciel détecte la forme que vous avez conçue et génère un code pour vous. Vous pouvez étudier ce code ou simplement l'utiliser. N'oubliez pas de lire l'aide CoZ Il existe des problèmes concernant la compilation. Formation joyeuse. http://www.byalexv.co.uk/ p>