[dev-c++] fenetre transparente et non rectangulaire

Soyez le premier à donner votre avis sur cette source.

Vue 11 665 fois - Téléchargée 1 256 fois

Description

Une fenêtre qui n'est pas comme les autres : elle n'est pas rectangulaire.
C'est une tâche qui débarque sur votre écran.
Plus sérieusement les API Windows sont utilisés pour afficher la fenêtre.
Grâce aux fameuses "Régions" on peut afficher les pixels non transparents.
L'image fond.bmp est l'image de fond où le noir est transparent.
Compilé avec Dev-C++ mais devrait passer avec d'autres compilateurs.

Source / Exemple :


Il y a un zip avec l'exécutable dans un autre zip et le même exécutable mais a renommer dans le répertoire.

Conclusion :


Commentez, notez et indiquez moi si vous trouvez des astuces.

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

cs_jeron
Messages postés
29
Date d'inscription
lundi 30 juin 2003
Statut
Membre
Dernière intervention
25 juillet 2014
2 -
merci beaucoups si quelqu'un trouve la solution pour la faire semi transparente
cs_jeron
Messages postés
29
Date d'inscription
lundi 30 juin 2003
Statut
Membre
Dernière intervention
25 juillet 2014
2 -
comment faire pour la rendre semi-transparente ? avec l'api 32 SetWindowLong(hwnd,GWL_EXSTYLE,GetWindowLong(hwnd, GWL_EXSTYLE) | WS_EX_LAYERED );
// 70% alpha
m_pSetLayeredWindowAttributes(hwnd, 0, (255 * 40) / 100, 0x00000002);

mais ça ne marche pas.
qhhu
Messages postés
67
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
21 octobre 2009
-
Excellente source !
Il y a longtemps que je n'avais pas vu une source aussi bien commentée et construite !
Exactement ce qu'il me fallait ; un mot : BRAVO !!
julienbj
Messages postés
458
Date d'inscription
jeudi 4 décembre 2003
Statut
Membre
Dernière intervention
19 décembre 2008
3 -
Merci pour cette trouvaille, ça faisait un moment que je cherchais comment faire.
Ma fonction plantait de temps en temps, des rayures noires s'affichaient sur certains ordinateurs au lieu d'un fond transparent.
Reste plus qu'à comparer pour trouver l'origine de l'erreur.
victorcoasne
Messages postés
1100
Date d'inscription
jeudi 24 avril 2003
Statut
Membre
Dernière intervention
17 octobre 2012
3 -
Bonjour,
En effet j'aurais pu utiliser cela mais sur le windows 9x ça n'aurait pas marché.
Le but est aussi de faire un programme "universel sur les windows".
Bonne programmation
@++

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.