Transparence + focus + message entre apps

alphaone Messages postés 134 Date d'inscription vendredi 2 mai 2003 Statut Membre Dernière intervention 14 novembre 2009 - 8 mai 2006 à 12:45
alphaone Messages postés 134 Date d'inscription vendredi 2 mai 2003 Statut Membre Dernière intervention 14 novembre 2009 - 11 mai 2006 à 23:34
Bonours,

1)Voila je faire un exe qui rend les autre féntre plus ou moin transparente si elle sont selectionner ou non.
2)Et je veux aussi que si on la lance 2 fois alors celle déja active recoi une commande et l'autre se ferme.

Merci si qq peu m'apporter de l'aide.

8 réponses

cs_Arnotic Messages postés 933 Date d'inscription dimanche 1 avril 2001 Statut Membre Dernière intervention 9 janvier 2012
8 mai 2006 à 13:09
Dans mes sources tu trouveras des exemples pour modifier la transparence d'une fenêtre.
Dans les sources de BruNews tu trouveras des exemples pour une et unique instance d'un programme.

@+
Arnotic,
Admin CS,
http://dev.winsysdev.com
MVP Visual C++
0
SAKingdom Messages postés 3212 Date d'inscription lundi 7 novembre 2005 Statut Membre Dernière intervention 16 février 2009 15
8 mai 2006 à 18:50
Salut. Pour la transparence d'une fenêtre, tu pourra allez voir, en plus des sources d'Arnotic, un de mes snippets fraichement fait. Ça se résume en une fonction toute simple.

SNIPPET

regarde la section C.

___________________________________________
Les plus grands esprits trouvent toujours une solution
0
deck_bsd Messages postés 1243 Date d'inscription jeudi 31 mars 2005 Statut Membre Dernière intervention 3 août 2016 2
9 mai 2006 à 09:00
Très intéressent SAKingdom , mais pourrais-tu svp la commenter, du moin
dire pourquoi tu utilise c'est fonctio, car moi aussi cela m'intéresse
mais siui qui m'intéresse moin est de recopier un code bêtement sans
vraiment le comprendre.



Merci d'avance.
0
SAKingdom Messages postés 3212 Date d'inscription lundi 7 novembre 2005 Statut Membre Dernière intervention 16 février 2009 15
9 mai 2006 à 20:50
Faut utiliser un peu de ça logique. Bon examinons ça

long style;

Ici on récupère le style de la fenetre selectionné
style = GetWindowLong(hWnd, GWL_EXSTYLE);

Ici on ajoute au style de la fenetre un mode de plus
WS_EX_LAYERED permet de dire que la fenetre peu changer la transparence
style = style|WS_EX_LAYERED;

Ici puis on réafecte le nouveau style à la fenetre
SetWindowLong(hWnd, GWL_EXSTYLE, style);

Puis on modifie la tranparence de la fenetre
SetLayeredWindowAttributes(hWnd, 0, Level, LWA_ALPHA);

Voila c'est tout simple
___________________________________________
Les plus grands esprits trouvent toujours une solution
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
alphaone Messages postés 134 Date d'inscription vendredi 2 mai 2003 Statut Membre Dernière intervention 14 novembre 2009
9 mai 2006 à 22:28
Comment on fait que la fentre active prend la transparance X et le autre la transparence Y?
0
SAKingdom Messages postés 3212 Date d'inscription lundi 7 novembre 2005 Statut Membre Dernière intervention 16 février 2009 15
9 mai 2006 à 22:36
Tu utilise le hWnd de chaque fenetre avec ma fonction c'est tout.

HWND Fenetre1; /* Je suppose que ces hWnd valent quelque chose */
HWND Fenetre2;

SetWindowAlpha(Fenetre1, 0xD0);
SetWindowAlpha(Fenetre2, 0xCC);

___________________________________________
Les plus grands esprits trouvent toujours une solution
0
deck_bsd Messages postés 1243 Date d'inscription jeudi 31 mars 2005 Statut Membre Dernière intervention 3 août 2016 2
11 mai 2006 à 19:56
Merci, en faite j'avai tous compris sauve à quoi servai le style WS_EX_LAYERED. Merci pour l'explication.
0
alphaone Messages postés 134 Date d'inscription vendredi 2 mai 2003 Statut Membre Dernière intervention 14 novembre 2009
11 mai 2006 à 23:34
Ce que je veux savoir c'est comment avoir les hwnd des fenetre inactive de la fenetre active, et de mettre à jour ces hwnd quand ça change.

Merci de votre aide.
0
Rejoignez-nous