Fenêtre inselectionnable (transparente / actions utilisateurs)

Galmiza Messages postés 573 Date d'inscription samedi 16 novembre 2002 Statut Membre Dernière intervention 9 avril 2008 - 6 déc. 2005 à 22:12
Galmiza Messages postés 573 Date d'inscription samedi 16 novembre 2002 Statut Membre Dernière intervention 9 avril 2008 - 7 déc. 2005 à 01:43
Bonjour,



Je souhaite afficher une application windows toute bête, légerement
transparente, mais qui ne gêne pas les interactions utilisateur-autres
fenêtres et bureau (par exemple si la fenêtre recouvre des icones,
l'utilisateur doit encore pouvoir sélectionner/déplacer/... les icones).



En gros je veux faire une application qui se mette visuellement au
premier plan mais qui se comporte comme si elle n'était pas là. (hook
clavier pour la fermer)

Comment créer une telle fenêtre ?



Merci pour votre aide.

3 réponses

vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 14
6 déc. 2005 à 22:22
Moi je pense pas que ce soit possible. Pour le faire, il faudrait savoir quelle est la fenêtre qui est derrière, et lui envoyer les messages de souris/clavier qu'elle recoit.
En plus, ce me semble assez bizarre de vooloir faire ca...
0
cs_Xaviou Messages postés 154 Date d'inscription dimanche 1 avril 2001 Statut Membre Dernière intervention 2 octobre 2009
6 déc. 2005 à 23:03
C'est pas bête du tout ce que dit vecchio56.
Si ta fenêtre reçoit un message émanent de la souris:
- Tu recherche la fenêtre qui est dessous (n'utilises pas WindowFromPoint, car tu vas obtenir le handle de ta fenêtre)
Faut carrément lister toutes les fenêtres, et vérifier laquelle est la bonne (attention au z-order).
- Ensuite, tu lui transmet le message et les paramètres associés.

A mon avis, tu as beaucoup de boulot, car il y a un grand nombre de messages à traiter, mais c'est peut-être bien faisable.

On attends le résultat avec impatience sur cppfrance.com
0
Galmiza Messages postés 573 Date d'inscription samedi 16 novembre 2002 Statut Membre Dernière intervention 9 avril 2008 1
7 déc. 2005 à 01:43
Merci, donc il n'y a pas de flags spéciaux qui permette cela, tans pis.



J'aurai utilisé cette fenêtre par dessus une application plein écran
par dessus laquelle je veux voir pas mal de données. L'application
utilise DirectX et je n'ai pas envie de modifier les passes de rendus
pour écrire toutes ces données sur le backbuffer. Je ne veux pas non
plus un popup qui empêche/désactive les clics de souris ou
drag&drop sur cette partie "afféctée" de l'écran.



Je ne savais pas que c'était aussi compliqué, je l'avoue !

Je vais donc garder pour le moment mon popup que je passe mon temps à déplacer ...

Je vais cependant suivre vos idées de départ pour voir si c'est jouable dans mes très (trop)° courts délais.



Merci pour vos conseil !
0
Rejoignez-nous