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

Langage Delphi Discussion :

Associer la position de deux fenêtres


Sujet :

Langage Delphi

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 10
    Points : 7
    Points
    7
    Par défaut Associer la position de deux fenêtres
    Bonjour,

    J'utilise deux fenêtres indépendantes A et B dans la même appli.
    A est une petite fenêtre d'information positionnée dans le bandeau en haut à droite de B.
    Elles sont affichées en même temps.
    Je voudrais que quand je déplace (ou redimensionne) B, A suive et reste à la même position dans sur B.
    J'ai donc implémenté les évènements FormConstrainedResize et FormResize de B avec :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    A.Left := Left+Width-80-A.width;
    A.Top  := Top+5;
    Ca marche bien : A suit B en cas de déplacement (sauf trop rapides) ou redimensionnement de B et reste à la même position, dans le bandeau en haut à droite......sauf sur Windows Server 2008.
    C'est donc OK sur Vista, Seven, XP,...mais pas sur 2008...je ne comprends pas.

    Je cherche donc soit à faire en sorte que cela marche aussi sur 2008...soit à trouver une solution plus adaptée (propre ?) pour lier la position de deux fenêtres.
    Merci pour votre aide...

  2. #2
    Expert confirmé
    Avatar de popo
    Homme Profil pro
    Analyste programmeur Delphi / C#
    Inscrit en
    Mars 2005
    Messages
    2 730
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste programmeur Delphi / C#
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 2 730
    Points : 5 391
    Points
    5 391
    Par défaut
    Un peu de recherche ne fait pas de mal !

    Allez voici le code que J-P-B m'a donné lorsque j'ai moi même posé la question et qui à résolu le problème.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    procedure WMWindowPosChanged(var Message: TWMWindowPosChanged); message WM_WINDOWPOSCHANGED;
     
    ...
     
    procedure TForm1.WMWindowPosChanged(var Message: TWMWindowPosChanged);
    var
      oldTop: integer;
      oldLeft: integer;
    begin
      oldTop := Top;
      oldLeft := Left;
      inherited;
      if assigned(form2) then
      begin
        Form2.top := Form2.top + Top - OldTop;
        Form2.left := Form2.Left + Left - OldLeft;
      end;
     
    end;
    A adapter au besoin

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 10
    Points : 7
    Points
    7
    Par défaut
    C'est parfait ! Merci bcp !

    Pour les recherche..j'en ai fait beaucoup...mais sans résultats avec les mots clefs que je rentrais...

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

Discussions similaires

  1. Passer une variable entre deux fenêtres
    Par DeezerD dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 17/08/2005, 09h52
  2. Association navigables dans les deux sens
    Par DarkNagash dans le forum Diagrammes de Classes
    Réponses: 4
    Dernier message: 13/07/2005, 15h11
  3. Différencier 1 session dans deux fenêtres
    Par Tiaps dans le forum Développement Web en Java
    Réponses: 4
    Dernier message: 13/06/2005, 12h19
  4. Charger deux fenêtre
    Par Azharis dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 13/05/2005, 10h23
  5. Récuperer la taille & position d'une fenêtre
    Par TheDarkLewis dans le forum Windows
    Réponses: 3
    Dernier message: 20/09/2004, 22h15

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