hydargos
Messages postés8Date d'inscriptionvendredi 6 septembre 2002StatutMembreDernière intervention26 mars 2008
-
25 mars 2008 à 17:37
hydargos
Messages postés8Date d'inscriptionvendredi 6 septembre 2002StatutMembreDernière intervention26 mars 2008
-
25 mars 2008 à 23:33
Bon, comment expliquer un truc simple sans trop compliquer.... hummmm
plantage de décors:
J'ai créé une boite de dialogue principale en utilisant AnimateWindow pour avoir un beau fondu... ça marche super bien. J'utilise en plus un manifest pour avoir le style XP... ça marche super bien.
En fait, tout fonctionne bien sauf que.... :
lorsque ma fenetre a finis son fondu et qu'elle est pleinement visible, les bords de la fenetre laissent aparaitre du noir. En fait, les BORDER de la fenetre ont la bonne couleur, mais a l'extérieure de celle-ci, j'ai environ une bande d'un pixel noir qui entoure ma fenetre, en utilisant ShowWindow, cette bande est transparente, et pendant l'AnimateWindow elle est aussi transparente, c'est après l'AnimateWindow que la chtite bande aparait. C'est moche, et je ne sais pas d'ou ça peut venir.
je récapitule:
ShowWindow: fenetre normale (extérieur des bords transparent)
AnimateWindow (pendant fondu): fenetre normale (extérieur des bords transparent)
AnimateWindow (après fondu): fenetre anormale (extérieur des bords avec bande d'un pixel noire)
si quelqu'un a une piste pour résoudre ce problème, je suis preneur... en attendant je continue a chercher...
vecchio56
Messages postés6535Date d'inscriptionlundi 16 décembre 2002StatutMembreDernière intervention22 août 201014 25 mars 2008 à 21:24
Ce qui est inquiétant c'est que même en déplacant la fenetre, ca ne résoud pas le problème (pas une simple question d'affichage).
J'ai essayé d'appeler GetWindowRgn après le AnimateWindow, et ca me retourne ERROR
Par contre, si on redimentionne la fenêtre, le coin noir disparait.
On peut donc appeler SetWindowPos, mais si on met la même taille, ca ne change rien (il faut une taille différente et la ca marche).
Sinon, le mieux serait sans doute de forcer une région (je pense que c'est un bug de la fonction AnimateWindow, qui supprime carrément la région de la fenetre), mais le problème est de trouver cette région (on ne peut pas la récupérer avant car la fenetre n'est pas visible).
vecchio56
Messages postés6535Date d'inscriptionlundi 16 décembre 2002StatutMembreDernière intervention22 août 201014 25 mars 2008 à 21:49
Ca marcherait, c'est juste que je trouve pas ca super beau (enfin normalement un redimentionnement de 1 pixel ne devrait pas se voir a moins de le chercher vraiment)
hydargos
Messages postés8Date d'inscriptionvendredi 6 septembre 2002StatutMembreDernière intervention26 mars 2008 25 mars 2008 à 23:33
bah, suite a vos remarques (merci ;) ), j'utilise un MoveWindow juste après l'UpdateWindow, j'ajoute juste 1 pixel, c'est invisible et ça fonctionne...
Je suis trop novice pour trouver une autre méthode....
Merci de vos remarques, en fait, ma fenetre n'est pas resizeable et je n'avais donc pas remarqué que ça disparaissait lors d'un redimentionnement...
Bon, vais me coucher, demain j'ai TP d'application réparties (durdur en java chui un boulet, pire qu'en C)... corba, rmi ... pfff