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 :

Déplacer plusieurs fenêtres en même temps


Sujet :

Windows

  1. #1
    Membre du Club
    Inscrit en
    Mai 2006
    Messages
    126
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 126
    Points : 54
    Points
    54
    Par défaut Déplacer plusieurs fenêtres en même temps
    Bonjour,

    Je programme en C++ et je débute avec l'API Win32. J'ai fait un programme qui affiche une fenêtre sans cadre et non-rectangulaire, et que je peux la deplacer à volonté (en renvoyant les clics perçus par la fenêtre vers sa barre de titre invisible).

    Mon programme affiche également une deuxième fenêtre sans cadre. J'aimerais que cette deuxième fenêtre se déplace en même temps que la première, comme si elles étaient liées l'une à l'autre.

    Quelqu'un a-t-il une idée? Merci!

  2. #2
    Membre habitué
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    340
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 340
    Points : 177
    Points
    177
    Par défaut
    utilise la fonction GetWindowRect sur ta premiere fenetre pour avoir les coordonnees de cette fenetre. Utilise les pour calculer la position de ta deuxieme fenetre. Utilise MoveWindow sur ta deuxieme fenetre avec la position que tu as calculee.
    L'Opus attire les Prélats

  3. #3
    Membre du Club
    Inscrit en
    Mai 2006
    Messages
    126
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 126
    Points : 54
    Points
    54
    Par défaut
    Merci. Je viens d'essayer, mais je ne sais pas où placer ces commandes. Je les ai mises dans le "WM_PAINT" de la procédure de la première fenêtre, puisque je suppose que le message "WM_PAINT" est envoyé pour redessiner la fenêtre lorsqu'on la déplace. Cependant la deuxième fenêtre ne bouge pas.

    Voici ce que j'ai mis, sachant que je veux que ma deuxième fenêtre de taille 100x100 soit décalée de 200 pixels à droite par rapport à la première:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    RECT Rect;
    GetWindowRect(Handle1,&Rect);
    Rect.left+=200;
    MoveWindow(Handle2,Rect.left,rect.top,100,100,1);

  4. #4
    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 518
    Points
    41 518
    Par défaut
    Met tout le code de déplacement de l'autre fenêtre dans ton case WM_MOVE ou WM_WINDOWPOSCHANGED.
    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.

  5. #5
    Membre du Club
    Inscrit en
    Mai 2006
    Messages
    126
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 126
    Points : 54
    Points
    54
    Par défaut
    Ca marche impeccable! Merci!

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 01/05/2010, 20h41
  2. Comment fermer plusieurs fenêtres en même temps
    Par ffvf1er dans le forum Agents de placement/Fenêtres
    Réponses: 1
    Dernier message: 13/08/2009, 21h27
  3. Utiliser plusieurs fenêtres en même temps
    Par fadsys dans le forum PureBasic
    Réponses: 4
    Dernier message: 07/08/2009, 11h57
  4. Déplacer plusieurs fenêtre en même temps
    Par popo dans le forum Delphi
    Réponses: 12
    Dernier message: 28/05/2007, 11h45
  5. [JFrame]Fermeture de plusieurs fenêtres en même temps
    Par Core8 dans le forum Agents de placement/Fenêtres
    Réponses: 4
    Dernier message: 28/12/2006, 16h47

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