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

C++Builder Discussion :

Déplacement d'Objets


Sujet :

C++Builder

  1. #1
    Membre à l'essai
    Inscrit en
    Juillet 2003
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Juillet 2003
    Messages : 19
    Points : 11
    Points
    11
    Par défaut Déplacement d'Objets
    slt t le monde;

    Dans mon application, je permets a l'utilisateur pendant l'executution de deplacer les objets existant sur la Form !

    dans mon code l'evenement OnMouseUp ne met la variable "Clic" a faut ce qui permet a l'utilisateur de deplacer les objets sans maintenir le bouton gauche de la souris enfoncé ! or que je ne veux pas de ca !

    Voici mon code:

    le reste du pgme

    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
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
     
     
    void __fastcall TForm1::FormMouseMove(TObject *Sender, TShiftState Shift,
          int X, int Y)
    {
    if (Clic==true)
    {
    const
        SC_DragMove = 0xF012;
     
      ReleaseCapture();
      ((TControl*)Sender)->Perform(WM_SYSCOMMAND, SC_DragMove, 0);
    }
    }
     
    //---------------------------------------------------------------------------
    void __fastcall TForm1::FormMouseDown(TObject *Sender, TMouseButton Button,
          TShiftState Shift, int X, int Y)
    {
    Clic=true;
    }
     
    //---------------------------------------------------------------------------
    void __fastcall TForm1::FormMouseUp(TObject *Sender, TMouseButton Button,
          TShiftState Shift, int X, int Y)
    {
    Clic=false;
    }
    //---------------------------------------------------------------------------
    je compte sur vous mes amis

    Cordialement NaDiA!


    [Modération, Alacazam : les titres doivent présenter le sujet et uniquement cela ; pas de "help", "urgent" ... cf Règles du Forum, merci]
    Ancien titre : Need-help Deplacement-des-objets.Urgent !

  2. #2
    Membre habitué
    Avatar de Alacazam
    Profil pro
    Inscrit en
    Septembre 2002
    Messages
    88
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2002
    Messages : 88
    Points : 167
    Points
    167
    Par défaut Re: Need-help@Deplacement-des-objets.Urgent !
    Bonsoir,

    Citation Envoyé par NaDiA_SoFt
    dans mon code l'evenement OnMouseUp ne met la variable "Clic" a faut ce qui permet a l'utilisateur de deplacer les objets sans maintenir le bouton gauche de la souris enfoncé ! or que je ne veux pas de ca !
    C'est bien pratique d'avoir mis le code ... je peux tester directement !
    Par contre, tes explications me paraissent un peu confuses.

    En fait, lorsque je lâche le bouton gauche, l'objet ne se déplace plus !!!
    Visiblement c'est ce qui te génait ...

    Si tu pouvais expliquer plus calmement
    Mathieu

  3. #3
    Membre à l'essai
    Inscrit en
    Juillet 2003
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Juillet 2003
    Messages : 19
    Points : 11
    Points
    11
    Par défaut
    Bonsoir ,

    je vous reexplique mon pbme ..donc dans mon application ; le déplacement des objets se fait pas comme prévu car moi je veux un deéplacement standard ie : je dois maintenir le bouton gauche de la sourie enfoncé lors du déplacement meme ( comme un deplacement standard ) !

    j'espere que je me suis bien exprimée cette fois ci

    Cordialement NaDiA !

    Nota : desole pour le titre Mr Alacazam

  4. #4
    Membre habitué
    Avatar de Alacazam
    Profil pro
    Inscrit en
    Septembre 2002
    Messages
    88
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2002
    Messages : 88
    Points : 167
    Points
    167
    Par défaut
    Bonsoir,

    Citation Envoyé par NaDiA_SoFt
    le déplacement des objets se fait pas comme prévu car moi je veux un déplacement standard ie : je dois maintenir le bouton gauche de la sourie enfoncé lors du déplacement meme ( comme un deplacement standard ) !
    Et bien, je suis perplexe
    Car c'est exactement ce résultat que j'obtiens ...

    Es-tu sûre de ne pas modifier ailleurs la variable Clic qui, je suppose, est globale ?

    Etant donné que j'ai un vieux Builder (donc vieux compilo), ça pourrait différer (mais ça me paraît bizarre) ... si ça ne s'arrange pas essaye cette autre méthode :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    int PosX, PosY;
    bool Clic;
    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
    20
    21
    22
    23
    void __fastcall TForm1::FormMouseDown(TObject *Sender, TMouseButton Button, TShiftState Shift, int X, int Y)
    {
    if (!Clic) {
    	Clic = true;
    	PosX = X;
    	PosY = Y;
    	}
    }
    //---------------------------------------------------------------------------
    void __fastcall TForm1::FormMouseMove(TObject *Sender, TShiftState Shift, int X, int Y)
    {
    if (!Application->Active)
    	Clic = false;
    if (Clic) {
    	Left = Left + X - PosX;
    	Top = Top + Y - PosY;
    	}
    }
    //---------------------------------------------------------------------------
    void __fastcall TForm1::FormMouseUp(TObject *Sender, TMouseButton Button, TShiftState Shift, int X, int Y)
    {
    Clic = false;
    }
    Bonne Continuation,
    Mathieu

  5. #5
    Membre à l'essai
    Inscrit en
    Juillet 2003
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Juillet 2003
    Messages : 19
    Points : 11
    Points
    11
    Par défaut
    Merci a vous Mr Alacazam mais vous savez koi ! Sa donne toujours la meme resultat

    pour bien voir si la variable Clic ne se change pas false j'ai fait cet exemple : dans ce code j'essaye de changer la couleur de la Form a chaque evenement de la sourie; dans OnMouseDown je la mets a clRed et pour OnMouseUp je la mets a clBlack.

    pour OnMousedown sa fonctionne bien et la Form Prend la couleur Red mais pour OnMouseUp ca ne fonctionne pas et la Form ne prend jamais la couleur Black ce qui veut dire que la Variable Clic reste toujours a true une fois qu'on clique
    voici le code.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    int PosX, PosY;
    bool Clic;
    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
    20
    21
     
     
    //---------------------------------------------------------------------------
    void __fastcall TForm1::Button1MouseMove(TObject *Sender, TShiftState Shift,
          int X, int Y)
    {
    if (!Application->Active)
       Clic = false;
    if (Clic) {
       ((TControl*)Sender)->Left = ((TControl*)Sender)->Left + X - PosX;
       ((TControl*)Sender)->Top = ((TControl*)Sender)->Top + Y - PosY;
     
     
    const
        SC_DragMove = 0xF012;
     
      ReleaseCapture();
      ((TControl*)Sender)->Perform(WM_SYSCOMMAND, SC_DragMove, 0);
     
      }
    }
    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
     
     
    //---------------------------------------------------------------------------
     
    void __fastcall TForm1::Button1MouseDown(TObject *Sender, TMouseButton Button,
          TShiftState Shift, int X, int Y)
    {
    if (!Clic) {
       Clic = true;
       PosX = X;
       PosY = Y;
       Color=clRed;
       }
     
    }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    //---------------------------------------------------------------------------
    void __fastcall TForm1::Button1MouseUp(TObject *Sender, TMouseButton Button,
          TShiftState Shift, int X, int Y)
    {
    Clic=false;
    Color=clBtnFace;
    }
    //---------------------------------------------------------------------------
    Cordialement NaDia !

    NOTA: je ne compile que cette portion du program c-a-d qu'il y a pas de risque que la variable Clic soit modifié ailleurs !

  6. #6
    Membre habitué
    Avatar de Alacazam
    Profil pro
    Inscrit en
    Septembre 2002
    Messages
    88
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2002
    Messages : 88
    Points : 167
    Points
    167
    Par défaut
    Ah ...

    (Regarde déjà si mon code NON modifié fonctionne pour déplacer ta Form en cliquant n'importe où dessus).

    Ensuite, essaye pour un objet en enlevant ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    const SC_DragMove = 0xF012;
     
      ReleaseCapture();
      ((TControl*)Sender)->Perform(WM_SYSCOMMAND, SC_DragMove, 0);
    Attention, si tu fais des copier-coller de codes, il te faudra quand même affecter les événements FormMouseMove, Up et Down (en double-cliquant dans l'Inspecteur d'Objet, second onglet).

    Bonne Chance,
    Mathieu

  7. #7
    Membre à l'essai
    Inscrit en
    Juillet 2003
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Juillet 2003
    Messages : 19
    Points : 11
    Points
    11
    Par défaut
    sorry Mr ca foncitionne tres bien merci infiniment

    Supeeeer, ca Fonctionne meme pour les images Vous etes Super Mr Alacazam .

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

Discussions similaires

  1. Déplacement d'objets lors de l'execution
    Par pootchi dans le forum Interfaces Graphiques
    Réponses: 5
    Dernier message: 19/11/2007, 18h24
  2. Déplacement d'objet entre select
    Par jonnyboy dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 14/05/2007, 11h29
  3. Effet de vague et déplacement d'objets
    Par goformat dans le forum Interfaces Graphiques
    Réponses: 6
    Dernier message: 23/02/2007, 01h25
  4. [Tkinter] déplacement d'objet
    Par airod dans le forum Tkinter
    Réponses: 2
    Dernier message: 02/05/2006, 09h26
  5. [FLASH] Déplacement des objets avec clavier ???
    Par 3adoula dans le forum Flash
    Réponses: 1
    Dernier message: 07/01/2006, 01h03

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