begin process at 2012 05 28 14:19:35
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C++ & C++ .NET

 > 

Windows

 > 

GUI

 > 

bordure de fenetre non transparente apres un AnimateWindow ... sniff


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

bordure de fenetre non transparente apres un AnimateWindow ... sniff

mardi 25 mars 2008 à 17:37:29 | bordure de fenetre non transparente apres un AnimateWindow ... sniff

hydargos

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...

mardi 25 mars 2008 à 19:13:14 | Re : bordure de fenetre non transparente apres un AnimateWindow ... sniff

hydargos

ajout screenshot:

avec ShowWindow: code: ShowWindow + UpdateWindow



après AnimateWindow: AnimateWindow + UpdateWindow



mardi 25 mars 2008 à 19:15:30 | Re : bordure de fenetre non transparente apres un AnimateWindow ... sniff

vecchio56

Administrateur CodeS-SourceS
Tu as essayé d'envoyer un WM_NCPAINT à ta fenetre?

_____________________________________
Un éditeur de ressources gratuit pour Windows

mardi 25 mars 2008 à 19:24:38 | Re : bordure de fenetre non transparente apres un AnimateWindow ... sniff

hydargos

je viens d'essayer, cela ne change rien.... :(
merci quand meme ;)
mardi 25 mars 2008 à 21:24:05 | Re : bordure de fenetre non transparente apres un AnimateWindow ... sniff

vecchio56

Administrateur CodeS-SourceS
Réponse acceptée !
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).

_____________________________________
Un éditeur de ressources gratuit pour Windows

mardi 25 mars 2008 à 21:31:37 | Re : bordure de fenetre non transparente apres un AnimateWindow ... sniff

jfrancois

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).

Et en faisant 2 SetWindowPos() pour changer/rétablir la dimension originale ?

Jean-François

mardi 25 mars 2008 à 21:49:26 | Re : bordure de fenetre non transparente apres un AnimateWindow ... sniff

vecchio56

Administrateur CodeS-SourceS
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)

_____________________________________
Un éditeur de ressources gratuit pour Windows

mardi 25 mars 2008 à 23:33:18 | Re : bordure de fenetre non transparente apres un AnimateWindow ... sniff

hydargos

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

a+ si je survis lol

et merci encore...



Cette discussion est classée dans : fenetre, transparente, fondu, bords, animatewindow


Répondre à ce message

Sujets en rapport avec ce message

fenetre transparente [ par pipo ] je cree une fenetre transparente avec WS_EX_TRANSPARENT mais le probleme c'est que quand je deplace ma fenetre le fond de la fenetre (le bureau de win probleme de fenetre transparente [ par pipo ] je cree une fenetre transparente avec WS_EX_TRANSPARENT mais le probleme c'est que quand je deplace ma fenetre le fond de la fenetre (le bureau de win positionnement fenetre [ par glipper ] Bonjour,je cherche a faire une fenetre qui se positionne facilement sur les bords de l'ecran comme le font certains programmes tel winamp par exemple Rendre une fentre transparente [ par supergrey ] Bonjour, je voudrais savoir comment rendre la fenetre d'un programme externe (comme IE, blocnote...) transparente.J'ai trouvé des sources rendre la fe fenetre transparente [ par deatmead ] Salut tout le monde :D.Voilà j'ai commencé a fair un programme et j'aimerais que quand je clic sur le fentre celle si devienne a moitié transparente e TRANSPARENTE [ par kiki67100 ] Salut voila jai trouver un code mais une fenetre TRANSPARENTE http://files.codes-sources.com/fichier.aspx?id=9615&f=Main.cpp  mais le probleme se que Rendre une partie de fenetre transparente [ par qbasic ] salut a tousj'ai découvert SetLayeredWindowAttributes qui permet de rendre toute une fenetre transparentemais je désire ne rendre transparent qu'une p SDL:fenetre transparente [ par o43 ] Comme la fenetre est une SDL_Surface, je me suis dit que je pouvais la rendre transparente. mais j'ai essaye de nombreuses manierers et je n'y arrive [GTK + c]fenetre vide [ par shirah3i ] Salut tout le monde!Je dev un projet en C sous visual6 en win 32 app et mon prog utilise GTK+. Mon Pb c'est que quand je lance ma fenetre GTK, elle es gerer un bouton [ par mitch258 ] je suis vraiment dans la panade:language c++/glut/gluij'ai besoin de pourvoir gerer un bouton (affiché dans une fenetre) et d'afficher une autre fenet


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,780 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales