IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Windows Discussion :

Une fenêtre qui reste en arrière plan ?


Sujet :

Windows

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    430
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 430
    Points : 93
    Points
    93
    Par défaut Une fenêtre qui reste en arrière plan ?
    Bonjour, je souhaiterais savoir si on peut faire en sorte que la fenetre de son application reste en arrière plan même lorsque qu'on l'active (en cliquant dessus).
    Merci

  2. #2
    Expert éminent
    Avatar de Melem
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2006
    Messages
    3 656
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 3 656
    Points : 8 389
    Points
    8 389
    Par défaut
    Une fenête qui reste en arrière plan même quand on l'active ? Tu peux être plus précis s'il te plaît ?

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    430
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 430
    Points : 93
    Points
    93
    Par défaut
    Désolé je pensais être clair, je vais essayer de détailler:
    mon application crée une fenetre sur laquelle on peut cliquer pour intéragir, jusque la rien d'extraordinaire. Le problème c'est que lorsqu'on clique dessus elle passe en premier plan comme toutes fenetres windows, ce que j'aimerai (mais je ne suis pas sur que ce soit possible) c'est qu'elle reste derriere les autres fenetres, mais qu'on puisse toujours intéragir avec elle.
    Pour illustrer, c'est exactement ce que fait le bureau, si on ouvre des fenetres elles restent devant, meme si on clique sur une icone du bureau, ce qui permet par exemple le glisser/déposer du bureau vers une autre fenetre.

  4. #4
    Expert éminent
    Avatar de Melem
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2006
    Messages
    3 656
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 3 656
    Points : 8 389
    Points
    8 389
    Par défaut
    Pour illustrer, c'est exactement ce que fait le bureau, si on ouvre des fenetres elles restent devant, meme si on clique sur une icone du bureau ...
    Parce que toutes les fenêtres sont enfant du bureau.

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    430
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 430
    Points : 93
    Points
    93
    Par défaut
    Et il y aurait peut etre moyen de se mettre entre le bureau et les autres fenetre pour devenir le parent de celles ci tout en étant enfant du bureau ?

  6. #6
    Rédacteur
    Avatar de Neitsa
    Homme Profil pro
    Chercheur sécurité informatique
    Inscrit en
    Octobre 2003
    Messages
    1 041
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chercheur sécurité informatique

    Informations forums :
    Inscription : Octobre 2003
    Messages : 1 041
    Points : 1 956
    Points
    1 956
    Par défaut
    Bonjour,

    Hmm, je ne suis pas sûr de mon coup mais en utilisant SetWindowPos avec le flag HWND_BOTTOM (et peut être en combinant avec un ou des flags de uFlags, genre SWP_NOSIZE | SWP_NOMOVE).

    cf MSDN : http://msdn.microsoft.com/en-us/libr...45(VS.85).aspx

    Simple suggestion (je n'ai pas essayé pour voir si ça fonctionnait) :

    Code C : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    SetWindowPos(hwnd, HWND_BOTTOM, 0, 0, 0, 0, SWP_NOSIZE | SWP_NOMOVE); // peut être avec SWP_NOACTIVATE en plus... à voir.

  7. #7
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 369
    Points : 41 519
    Points
    41 519
    Par défaut
    Je dirais faire ça, avec le flag SWP_NOACTIVATE en plus, à chaque fois que la fenêtre reçoit un message WM_ACTIVATE lui signifiant qu'on a cliqué dessus...
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  8. #8
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    430
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 430
    Points : 93
    Points
    93
    Par défaut
    Effectivement en faisant ça ça marche:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
            case WM_ACTIVATE:
    			SetWindowPos(hWnd, HWND_BOTTOM, 0, 0, 0, 0, SWP_NOSIZE | SWP_NOMOVE | SWP_NOACTIVATE);
    			break;
    En fait le SWP_NOACTIVATE ne change rien a priori.
    J'avais pensé faire un truc comme ça mais je pensais que le fait de la faire passer en arriere plan la désactiverait.

    Merci pour votre aide !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 12/12/2014, 06h52
  2. Réponses: 1
    Dernier message: 09/02/2008, 18h55
  3. fenêtre fille qui reste au premier plan
    Par parabolus dans le forum Windows Forms
    Réponses: 8
    Dernier message: 02/04/2007, 18h02
  4. Réponses: 5
    Dernier message: 19/02/2007, 11h07
  5. Faire une fenêtre qui reste au premier plan
    Par Mandelbrot dans le forum Windows
    Réponses: 6
    Dernier message: 13/03/2006, 19h34

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo