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éplacer un objet TLabel sur une Form


Sujet :

C++Builder

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 7
    Points : 5
    Points
    5
    Par défaut déplacer un objet TLabel sur une Form
    je n'arrive pas à déplacer mon label sur ma forme principal, j'ai essayé dragmode en automatic ça ne marche pas!j'ai essayé de modifié les paramètres TOp et Left du label en fonction de la position de la souris ça marche pas non plus!
    est-ce que quelqu'un pourrait m'aider svp!!!

  2. #2
    Membre habitué Avatar de Furlaz
    Homme Profil pro
    Responsable Qualité
    Inscrit en
    Mai 2006
    Messages
    210
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Responsable Qualité
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2006
    Messages : 210
    Points : 131
    Points
    131
    Par défaut

    Bonjour,

    C'est curieux ton problème, normalement le Tlabel il se déplace comme on veut. Il est possible de le placer ou tu veux dans ta Form normalement.

    Ta essayer de le supprimer et dans remettre un pour voir si ca te faisait la meme chose ?

  3. #3
    Membre habitué Avatar de Furlaz
    Homme Profil pro
    Responsable Qualité
    Inscrit en
    Mai 2006
    Messages
    210
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Responsable Qualité
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2006
    Messages : 210
    Points : 131
    Points
    131
    Par défaut
    Dans ta propriété Align Tu as quoi ?

    Il faut mettre alNome pour que ca fonctionne je pense

    EDIT : ou bien alCustom ca fonctionne aussi !

  4. #4
    Membre habitué
    Inscrit en
    Mai 2006
    Messages
    188
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 188
    Points : 182
    Points
    182
    Par défaut
    salut,
    as tu fait un form->repaint()?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     Label3->Left=0;
     Form_creer_famille->Repaint();

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 7
    Points : 5
    Points
    5
    Par défaut
    je vais essayé tout de suite et je te did si ça marche!!

    j'ai essayé un autre label ça marche pas!

  6. #6
    Membre habitué Avatar de Furlaz
    Homme Profil pro
    Responsable Qualité
    Inscrit en
    Mai 2006
    Messages
    210
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Responsable Qualité
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2006
    Messages : 210
    Points : 131
    Points
    131
    Par défaut
    Tu as essayé ca :
    Citation Envoyé par mike600river
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     Label3->Left=0;
     Form_creer_famille->Repaint();
    ou de changer la propriété Align ? ou les 2 ?

  7. #7
    Membre habitué
    Inscrit en
    Mai 2006
    Messages
    188
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 188
    Points : 182
    Points
    182
    Par défaut
    chez moi sans le repaint ca marche aussi dsl

    mon label a la propriété align à alNone
    tu peux faire voir comment tu manipules ton label?

  8. #8
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 7
    Points : 5
    Points
    5
    Par défaut
    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
    void __fastcall TForm1::Label1MouseDown(TObject *Sender,
          TMouseButton Button, TShiftState Shift, int X, int Y)
    {
     
            mem_x=X;
            mem_y=Y;
            sourisclic=true;
     
    }
    //---------------------------------------------------------------------------
    void __fastcall TForm1::Label1MouseMove(TObject *Sender, TShiftState Shift,
          int X, int Y)
    {
            if(sourisclic)
            {
              Label1->Top=Label1->Top+Y-mem_y;
              Label1->Left=Label1->Left+X-mem_x;
            }
    }
    //---------------------------------------------------------------------------
    void __fastcall TForm1::Label1MouseUp(TObject *Sender, TMouseButton Button,
          TShiftState Shift, int X, int Y)
    {
            sourisclic=false;        
    }
    //---------------------------------------------------------------------------
    ça marche c'est bon!

    mais je voudrais savoir quand même comment on peut faire avec la méthode du dragdrop du label sur une form

  9. #9
    Membre habitué
    Inscrit en
    Mai 2006
    Messages
    188
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 188
    Points : 182
    Points
    182
    Par défaut
    dragdrop? elle est ou cette propriété? je l'ai pas trouvé. c'est du dragmode dont tu parles?

    je comprend pas trop ce que tu voudrais faire de plus ou de different. te passer du code et que le label se deplace tout seul?

  10. #10
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 7
    Points : 5
    Points
    5
    Par défaut
    oui je voulais parler de la propiriété dragmode à quoi elle sert si on peu pas déplacer le label avec?

    il y a la fonction dragdrop pour le label!

  11. #11
    Membre habitué

    Profil pro
    Cadre
    Inscrit en
    Mars 2006
    Messages
    132
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Cadre

    Informations forums :
    Inscription : Mars 2006
    Messages : 132
    Points : 168
    Points
    168
    Par défaut
    C'est trop laid je trouve, ça pose le composant dans une fenetre baaah


  12. #12
    Membre expert
    Avatar de Sunchaser
    Homme Profil pro
    OPNI (Objet Programmant Non Identifié)
    Inscrit en
    Décembre 2004
    Messages
    2 059
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : OPNI (Objet Programmant Non Identifié)
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Décembre 2004
    Messages : 2 059
    Points : 3 204
    Points
    3 204
    Par défaut
    Salut,

    As tu essayer de gérer les évènements OnDragDrop et OnDragOver de la TForm sur laquelle doit 'circuler' le TLabel ?
    Donc DragMode du TLabel a dmAutomatic,
    dans le OnDragOver de la TForm:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Accept = Source->ClassNameIs("TLabel");
    dans le OnDragDrop de la TForm:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
      if (Source->ClassNameIs("TLabel"))
      {
      TLabel *pLabel = dynamic_cast < TLabel * > (Source);
      pLabel->Left = X;
      pLabel->Top = Y;
      }
    Bon.....le positionnement du Label est a améliorer, la je fais a la bourrin...dsl.

    @ +

  13. #13
    Membre actif
    Profil pro
    Inscrit en
    Août 2002
    Messages
    481
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 481
    Points : 242
    Points
    242
    Par défaut
    Pour déplacer un composant, par exemple un TPanel :
    Dans le "OnMouseDown du Panel :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    {
      ReleaseCapture();
      SNDMSG(Panel1->Handle, WM_NCLBUTTONDOWN, HTCAPTION, 0);
    }

  14. #14
    Candidat au Club
    Inscrit en
    Août 2005
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 2
    Points : 2
    Points
    2
    Par défaut
    Et voilà:
    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
     
    //---------------------------------------------------------------------------
    void __fastcall TfrmPrincipal::Label4MouseMove(TObject *Sender,
          TShiftState Shift, int X, int Y)
    {
        TControl* control = static_cast<TControl*>(Sender);
        static bool pulsado = false;
        static TPoint posicion;
     
        if (!pulsado && Shift.Contains(ssLeft))
          posicion = Point(X, Y);
          pulsado = Shift.Contains(ssLeft);
        if (pulsado)
        {
          control->Left += X - posicion.x;
          control->Top  += Y - posicion.y;
        }
    }
    //---------------------------------------------------------------------------

  15. #15
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 7
    Points : 5
    Points
    5
    Par défaut
    merci cantrelle et aux autres !!! ça marche

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

Discussions similaires

  1. Déplacer des objets images sur une page
    Par KeKeMaN dans le forum Général Conception Web
    Réponses: 3
    Dernier message: 17/02/2009, 09h59
  2. copie d'un objet shape sur une form
    Par JockdiL dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 18/09/2008, 19h33
  3. [AJAX] Déplacer des objets HTML sur une page web
    Par brazilia28 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 09/06/2007, 12h47
  4. [VB6] Deplacer un objet sur une form en mode Exploitation
    Par Lucas42 dans le forum VB 6 et antérieur
    Réponses: 9
    Dernier message: 30/05/2006, 15h12
  5. Réponses: 13
    Dernier message: 09/05/2006, 16h30

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