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 :

Drag and Drop


Sujet :

C++Builder

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Invité
    Invité(e)
    Par défaut Drag and Drop
    Bonjour,

    Je voudrais mettre en place un drag and drop sur Borland seulement verticale ou horizontal. Mais le probleme c'est que je veux pas vérifier la position d'arrivé quand on relache l'objet mais pendant...

    Si quelqun aurait une idée...

    Merci,

  2. #2
    Membre Expert

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    1 407
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 1 407
    Par défaut
    Salut !

    Peut-être en détaillant le Drag & Drop avec OnMouseDown, OnMouseMove et OnMouseUp.
    C'est juste idée...

    A plus !

  3. #3
    Rédacteur
    Avatar de blondelle
    Homme Profil pro
    Inscrit en
    Mars 2006
    Messages
    2 738
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 738
    Par défaut
    Salut seb2020
    Si c'est pour deplacer une Form en cliquant dessus, regarde ce post il y a une fonction qui le fait tres bien et dans toutes les directions

  4. #4
    Invité
    Invité(e)
    Par défaut
    Salut,

    Merci pour les réponses. J'arrive a faire le drag and drop de mon objet. Le truc c'est que je vais le faire que de droite a gauche ou de haut en bas.

    Je vais essayer la solution de henderson. Je vous tiens au courant mais si il y a d'autres idée ca pourrait etre pas mal

  5. #5
    Membre Expert

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    1 407
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 1 407
    Par défaut
    Salut !

    J'ai pris comme base de réflexion de déplacer des TPanel.
    J'utilise un TPanel *Mobile dont le parent est la Form (idem pour les Panels) pour matérialiser le déplacement.
    Au départ, Mobile n'est pas visible et je lui ai donné une teinte gris foncé.

    Voici quelques globales :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    bool DragHorizontal = true;
    bool IsDragging = false;
    TPoint Start;
    TPoint Off;
    Pour chacun des TPanel que je vais déplacer, j'ai donné les événementielles suivantes :
    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
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
     
    void __fastcall TForm1::Panel1MouseDown(TObject *Sender,
          TMouseButton Button, TShiftState Shift, int X, int Y)
    {
    Mobile->BoundsRect = ((TPanel*)Sender)->BoundsRect;
    Mobile->BringToFront();
    Mobile->Visible = true;
    IsDragging = true;
    Start = Point(X,Y); // pour garder l'offet de départ au cas où
    Off = Point(X,Y); // l'offset en cours
    }
     
     
    void __fastcall TForm1::Panel1MouseMove(TObject *Sender, TShiftState Shift,
          int X, int Y)
    {
    if(IsDragging)
        {
        if(DragHorizontal)
            {
            Mobile->SetBounds(Mobile->Left + X - Off.x,
                              Mobile->Top,
                              Mobile->Width,
                              Mobile->Height);
            }
        else
            {
            Mobile->SetBounds(Mobile->Left,
                              Mobile->Top + Y - Off.y,
                              Mobile->Width,
                              Mobile->Height);
            }
        Off = Point(X,Y);
        }
    }
     
    void __fastcall TForm1::Panel1MouseUp(TObject *Sender, TMouseButton Button,
          TShiftState Shift, int X, int Y)
    {
    if(IsDragging)
        {
        IsDragging = false;
        Mobile->Visible = false;
        // Réflexion à suivre...
        //....
        //Si l'objet doit se placer bêtement à l'endroit du Mobile 
        //mais sur le même Parent :
        ((TPanel*)Sender)->BoundsRect = Mobile->BoundsRect;
        }
    }
    A plus !

  6. #6
    Invité
    Invité(e)
    Par défaut
    Salut,

    je vais voir tout ca et je te redis

  7. #7
    Membre éclairé Avatar de Mangacker
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    452
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : Suisse

    Informations forums :
    Inscription : Décembre 2006
    Messages : 452
    Par défaut
    Citation Envoyé par seb2020 Voir le message
    Salut,

    Merci pour les réponses. J'arrive a faire le drag and drop de mon objet. Le truc c'est que je vais le faire que de droite a gauche ou de haut en bas.

    Je vais essayer la solution de henderson. Je vous tiens au courant mais si il y a d'autres idée ca pourrait etre pas mal
    comme tu as dit que tu avais réussi le drag and drop...
    est-ce que tu pourrai partager ton code stp (j'en aurais grandement besoins)


    pour épater gena

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

Discussions similaires

  1. Drag and drop "de l'extérieur"
    Par Invité dans le forum C++Builder
    Réponses: 12
    Dernier message: 31/03/2020, 10h10
  2. "Drag and drop" avec directinput
    Par batosai dans le forum DirectX
    Réponses: 1
    Dernier message: 16/06/2004, 16h48
  3. [VB.NET] Microsoft TreeView drag and drop ?
    Par bigtoof dans le forum ASP.NET
    Réponses: 7
    Dernier message: 24/05/2004, 14h50
  4. [JSP][DRAG AND DROP]
    Par hamed dans le forum Servlets/JSP
    Réponses: 7
    Dernier message: 23/01/2004, 17h36
  5. drag and drop
    Par jujuesteban dans le forum Composants VCL
    Réponses: 5
    Dernier message: 20/06/2003, 09h23

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