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 :

Relié par un vecteur 2 éléments dragndrop


Sujet :

Langage Delphi

  1. #1
    Membre habitué Avatar de avogadro
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    412
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 412
    Points : 188
    Points
    188
    Par défaut Relié par un vecteur 2 éléments dragndrop
    Bonjour,

    je cherche a faire un lien entre deux élément drag n drop, qui peuvent donc etre déplacé sur la form a la maniere de visio 2003 !

    auriez vous une idée?
    =-=-=-=-=-=-=-=-=-=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-==-=-=-=-=-=-=-=-=-=-=
    (\_/)
    (O.o)
    (> <)
    This is Bunny. Copy Bunny into your signature to help him on his way to world domination!!
    =-=-=-=-=-=-=-=-=-=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-==-=-=-=-=-=-=-=-=-=-=

  2. #2
    Expert confirmé
    Avatar de anapurna
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2002
    Messages
    3 421
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 421
    Points : 5 820
    Points
    5 820
    Par défaut
    salut

    il te suffit de creer un element graphique
    ayant comme propriete
    un element de depart
    un element d'arrivé
    et de tracer une droite entre les deux elements
    pour tracer ta droite il te suffit de connaitre le centre des elements
    et de commencer la droite droite a la peripherie des elements

    @+ Phil
    Nous souhaitons la vérité et nous trouvons qu'incertitude. [...]
    Nous sommes incapables de ne pas souhaiter la vérité et le bonheur, et sommes incapables ni de certitude ni de bonheur.
    Blaise Pascal
    PS : n'oubliez pas le tag

  3. #3
    Membre habitué Avatar de avogadro
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    412
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 412
    Points : 188
    Points
    188
    Par défaut
    l'élément graphique doit etre une image ou je dois utiliser un composant verctoriel ou quelque chose comme ça?

    l'idée de relier les deux élements par leur centre est pas mal, c'est un truc tout simple du type "center" ou bien il faut calculer le centre ?
    =-=-=-=-=-=-=-=-=-=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-==-=-=-=-=-=-=-=-=-=-=
    (\_/)
    (O.o)
    (> <)
    This is Bunny. Copy Bunny into your signature to help him on his way to world domination!!
    =-=-=-=-=-=-=-=-=-=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-==-=-=-=-=-=-=-=-=-=-=

  4. #4
    Expert confirmé
    Avatar de anapurna
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2002
    Messages
    3 421
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 421
    Points : 5 820
    Points
    5 820
    Par défaut
    salut

    il te faut creer un composant graphique un peu l'equivalent des tshape
    quand au centre il faut bien evidement le calculer mais bon ca c'est a la porte de tous le monde de definir le centre d'un cercle ou d'un rectangle

    @+ Phil
    Nous souhaitons la vérité et nous trouvons qu'incertitude. [...]
    Nous sommes incapables de ne pas souhaiter la vérité et le bonheur, et sommes incapables ni de certitude ni de bonheur.
    Blaise Pascal
    PS : n'oubliez pas le tag

  5. #5
    Membre habitué Avatar de avogadro
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    412
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 412
    Points : 188
    Points
    188
    Par défaut
    mais elle va se déformer, s'étirer pour suivre le mouvement de l'objet??
    =-=-=-=-=-=-=-=-=-=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-==-=-=-=-=-=-=-=-=-=-=
    (\_/)
    (O.o)
    (> <)
    This is Bunny. Copy Bunny into your signature to help him on his way to world domination!!
    =-=-=-=-=-=-=-=-=-=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-==-=-=-=-=-=-=-=-=-=-=

  6. #6
    Expert confirmé
    Avatar de anapurna
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2002
    Messages
    3 421
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 421
    Points : 5 820
    Points
    5 820
    Par défaut
    salut

    oui vu qu'il va se recalculer au moindre changement
    tu as creer un lien entre tes different element autant qu'il te serve a quelque chose

    @+ Phil
    Nous souhaitons la vérité et nous trouvons qu'incertitude. [...]
    Nous sommes incapables de ne pas souhaiter la vérité et le bonheur, et sommes incapables ni de certitude ni de bonheur.
    Blaise Pascal
    PS : n'oubliez pas le tag

  7. #7
    Membre habitué Avatar de avogadro
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    412
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 412
    Points : 188
    Points
    188
    Par défaut
    bon alors en dur je vais trouver les coordonnées des centres des images en divisant les cotés par deux

    par exemple les propriétés de l'image sont :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    height := 900;
    width := 500;
    les coordonnées du centre sera
    je suis pas sur qu'il faut faire comme ça :s apres la shape1 a été créé ( c'est une droite simple ), mais va t on avoir quelque chose du genre point de gauche := centre image 1 et point de droite := centre image 2 ? ?

    si tu as deja fait ça tu pourrais vite m'expliquer le code? ou meme si tu as un exemple tu me donne un lien et je jete un coup d'oeil ! merci beaucoup !
    =-=-=-=-=-=-=-=-=-=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-==-=-=-=-=-=-=-=-=-=-=
    (\_/)
    (O.o)
    (> <)
    This is Bunny. Copy Bunny into your signature to help him on his way to world domination!!
    =-=-=-=-=-=-=-=-=-=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-==-=-=-=-=-=-=-=-=-=-=

  8. #8
    Membre habitué Avatar de avogadro
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    412
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 412
    Points : 188
    Points
    188
    Par défaut
    le problème est que cette tshape n'a pas l'air d'etre faite pour se positionner en diagonal, ou bien je me trompe! mais moi elle se positionne par rapport a la grille et elle n'a pas l'air de se déformer !!

    si quelqu'un peut faire un projet tout simple pour voir le résultat ça serait pas mal merci . . .
    =-=-=-=-=-=-=-=-=-=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-==-=-=-=-=-=-=-=-=-=-=
    (\_/)
    (O.o)
    (> <)
    This is Bunny. Copy Bunny into your signature to help him on his way to world domination!!
    =-=-=-=-=-=-=-=-=-=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-==-=-=-=-=-=-=-=-=-=-=

  9. #9
    Membre expert
    Avatar de LadyWasky
    Femme Profil pro
    Inscrit en
    Juin 2004
    Messages
    2 932
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 53
    Localisation : France, Hauts de Seine (Île de France)

    Informations forums :
    Inscription : Juin 2004
    Messages : 2 932
    Points : 3 565
    Points
    3 565
    Par défaut
    Ce post devrait pouvoir te mettre sur une piste
    Regarde mon dernier message
    http://www.developpez.net/forums/vie...ight=rectangle

    Bref, je suis certain que ça ve te donner des idées...
    Bon dev
    Bidouilleuse Delphi

  10. #10
    Membre habitué Avatar de avogadro
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    412
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 412
    Points : 188
    Points
    188
    Par défaut
    l'utilisation de canvas serait pas plus facile??
    =-=-=-=-=-=-=-=-=-=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-==-=-=-=-=-=-=-=-=-=-=
    (\_/)
    (O.o)
    (> <)
    This is Bunny. Copy Bunny into your signature to help him on his way to world domination!!
    =-=-=-=-=-=-=-=-=-=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-==-=-=-=-=-=-=-=-=-=-=

  11. #11
    Membre expert
    Avatar de LadyWasky
    Femme Profil pro
    Inscrit en
    Juin 2004
    Messages
    2 932
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 53
    Localisation : France, Hauts de Seine (Île de France)

    Informations forums :
    Inscription : Juin 2004
    Messages : 2 932
    Points : 3 565
    Points
    3 565
    Par défaut
    Essaies toujours... de toute façon, il faudra que tu gère le déplacement, réduction de ta fiche si tu gères ça sur un Canvas (sinon tes ligne vont s'effacer à chaque fois).

    Au moins le PaintBox, qui est un bète Canvas, le gère pour moi et lance ta procédure de dessin au moment ad'hoc.
    Bidouilleuse Delphi

  12. #12
    Membre habitué Avatar de avogadro
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    412
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 412
    Points : 188
    Points
    188
    Par défaut
    mais dans ton cas quand tu supprime un élément la ligne reste visible (celle acroché a lélément supprimé) c'est un peu bug, en fait il s'enleve lors du prochain déplacement, faudrait que t'essais de faire un deplacement de 1pixel pour l'enlever automatiquement, fin bref, va falloir tafer la !
    =-=-=-=-=-=-=-=-=-=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-==-=-=-=-=-=-=-=-=-=-=
    (\_/)
    (O.o)
    (> <)
    This is Bunny. Copy Bunny into your signature to help him on his way to world domination!!
    =-=-=-=-=-=-=-=-=-=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-==-=-=-=-=-=-=-=-=-=-=

  13. #13
    Expert confirmé
    Avatar de anapurna
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2002
    Messages
    3 421
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 421
    Points : 5 820
    Points
    5 820
    Par défaut
    salut

    le probleme du canvas c'est pour pouvoir les manipuler apres les avoir pose
    mais bon c'est toi qui voit

    @+ Phil
    Nous souhaitons la vérité et nous trouvons qu'incertitude. [...]
    Nous sommes incapables de ne pas souhaiter la vérité et le bonheur, et sommes incapables ni de certitude ni de bonheur.
    Blaise Pascal
    PS : n'oubliez pas le tag

  14. #14
    Membre habitué Avatar de avogadro
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    412
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 412
    Points : 188
    Points
    188
    Par défaut
    mise en place d'un timer qui les retrace automatiquement, fin ça devient de pire en pire la lol
    =-=-=-=-=-=-=-=-=-=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-==-=-=-=-=-=-=-=-=-=-=
    (\_/)
    (O.o)
    (> <)
    This is Bunny. Copy Bunny into your signature to help him on his way to world domination!!
    =-=-=-=-=-=-=-=-=-=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-==-=-=-=-=-=-=-=-=-=-=

  15. #15
    Membre expert
    Avatar de LadyWasky
    Femme Profil pro
    Inscrit en
    Juin 2004
    Messages
    2 932
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 53
    Localisation : France, Hauts de Seine (Île de France)

    Informations forums :
    Inscription : Juin 2004
    Messages : 2 932
    Points : 3 565
    Points
    3 565
    Par défaut
    Citation Envoyé par avogadro
    mais dans ton cas quand tu supprime un élément la ligne reste visible (celle acroché a lélément supprimé) c'est un peu bug, en fait il s'enleve lors du prochain déplacement, faudrait que t'essais de faire un deplacement de 1pixel pour l'enlever automatiquement, fin bref, va falloir tafer la !
    Le but de mon programme, c'était juste pour tester la validité d'une idée, pas pour en faire un tuto ou finaliser deci delà tout les détails

    Donc c'est vrai que je ne me suis pas foulé non plus...

    Allez une ch'tite mise à jour pour la forme (dans la deuxième unité) :
    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
    procedure TMyPanel.JvCaptionPanel1ButtonClick(Sender: TObject;
      Button: TJvCapBtnStyle);
    var i:Integer;
        AConnector:TConnector;
    begin
      if Button=capclose then
      begin
      if MainForm.ComponentCount>0 then
      for i:=0 to MainForm.ComponentCount-1 do
      if (MainForm.Components[i] is TConnector) then
      begin
        AConnector:=(MainForm.Components[i] as TConnector);
        if ((AConnector.FromPanel=Self) or (AConnector.ToPanel=Self)) then
        begin
          AConnector.Free;
          AConnector:=nil;
        end;
      end;
      visible:=False;
      end;
      //Code à rajouter :
      MainForm.PaintBox1.Repaint;
     //Fin du code à rajouter...
    end;
    Bidouilleuse Delphi

  16. #16
    Membre habitué Avatar de avogadro
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    412
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 412
    Points : 188
    Points
    188
    Par défaut
    mais pourquoi lorsque j'active cette procedure il y a mon application qui plante?? c'est cencé éviter la perte de l'élément quand je vais trop vite !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    procedure TForm1.FormDragOver(Sender, Source: TObject; X, Y: Integer;
      State: TDragState; var Accept: Boolean);
      { Cette procédure permet d'éviter la "perte" du compo lors d'un mouvement très
        rapide de la souris }
    begin
        {(Sender AS Timage).Left := X - XsurLab;
        (Sender AS Timage).Top  := Y - YsurLab;}
    end;   ///a revoir, gro bug si active !
    =-=-=-=-=-=-=-=-=-=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-==-=-=-=-=-=-=-=-=-=-=
    (\_/)
    (O.o)
    (> <)
    This is Bunny. Copy Bunny into your signature to help him on his way to world domination!!
    =-=-=-=-=-=-=-=-=-=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-==-=-=-=-=-=-=-=-=-=-=

  17. #17
    Membre expert
    Avatar de LadyWasky
    Femme Profil pro
    Inscrit en
    Juin 2004
    Messages
    2 932
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 53
    Localisation : France, Hauts de Seine (Île de France)

    Informations forums :
    Inscription : Juin 2004
    Messages : 2 932
    Points : 3 565
    Points
    3 565
    Par défaut
    Citation Envoyé par avogadro
    mais pourquoi lorsque j'active cette procedure il y a mon application qui plante?? c'est cencé éviter la perte de l'élément quand je vais trop vite !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    procedure TForm1.FormDragOver(Sender, Source: TObject; X, Y: Integer;
      State: TDragState; var Accept: Boolean);
      { Cette procédure permet d'éviter la "perte" du compo lors d'un mouvement très
        rapide de la souris }
    begin
        {(Sender AS Timage).Left := X - XsurLab;
        (Sender AS Timage).Top  := Y - YsurLab;}
    end;   ///a revoir, gro bug si active !
    Parce que ton Sender, c'est ta fiche Form1 et non pas ton TImage Pardi !!!, c'est Source qu'il faut utiliser :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    (Source AS Timage).Left := X - XsurLab;
        (Source AS Timage).Top  := Y - YsurLab;
    Bidouilleuse Delphi

  18. #18
    Membre habitué Avatar de avogadro
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    412
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 412
    Points : 188
    Points
    188
    Par défaut
    bon voila, il y a tout qui marche, pour tracer la ligne en fait j'utilise cette procedure:
    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
    procedure TireMoi(Image1,Image2: TImage);
    begin
         Image1.Visible := false;
         Image2.Visible := false;
         with Form1.Canvas do
              begin
                   Pen.Color := clRed;
                   Pen.Width := 3;
                   MoveTo(Trunc(Image1.Left + Image1.Width/2),Trunc(Image1.Top + Image1.Height/2));
                   LineTo(Trunc(Image2.Left + Image2.Width/2),Trunc(Image2.Top + Image2.Height/2));
                   Refresh;
     
              end;
         Image1.Visible := true;
         Image2.Visible := true;
    end;
    elle fonctionne en cliquant sur un element a relier dans un popup menu, pour faire plus simple ça marche comme ça:


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    procedure TForm1.Routeur21Click(Sender: TObject);
    begin
         TireMoi(tab_image[0],tab_image[1]);
    end;
    mais quand je fais le drag and drop je vais devoir supprimer juste le trait que je viens de tracer et le redessiner, et ça je ne sais pas comment faire...

    ps: le principe des image en visible true et false me permet de placer le trait en dessous de l'image, j'ai rien trouvé d'autre pour l'instant !
    =-=-=-=-=-=-=-=-=-=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-==-=-=-=-=-=-=-=-=-=-=
    (\_/)
    (O.o)
    (> <)
    This is Bunny. Copy Bunny into your signature to help him on his way to world domination!!
    =-=-=-=-=-=-=-=-=-=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-==-=-=-=-=-=-=-=-=-=-=

  19. #19
    Expert confirmé
    Avatar de anapurna
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2002
    Messages
    3 421
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 421
    Points : 5 820
    Points
    5 820
    Par défaut
    salut

    a priorie tu redesinne sur le canvas de la form
    donc il ne te reste plus qu'a annuler le dessin sur ce canvas

    @+ Phil
    Nous souhaitons la vérité et nous trouvons qu'incertitude. [...]
    Nous sommes incapables de ne pas souhaiter la vérité et le bonheur, et sommes incapables ni de certitude ni de bonheur.
    Blaise Pascal
    PS : n'oubliez pas le tag

  20. #20
    Membre habitué Avatar de avogadro
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    412
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 412
    Points : 188
    Points
    188
    Par défaut
    comment qu'on fait?
    =-=-=-=-=-=-=-=-=-=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-==-=-=-=-=-=-=-=-=-=-=
    (\_/)
    (O.o)
    (> <)
    This is Bunny. Copy Bunny into your signature to help him on his way to world domination!!
    =-=-=-=-=-=-=-=-=-=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-==-=-=-=-=-=-=-=-=-=-=

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Combobox relié par ID
    Par kzimir dans le forum Windows Forms
    Réponses: 15
    Dernier message: 31/07/2009, 10h12
  2. Réponses: 1
    Dernier message: 05/04/2009, 12h29
  3. Afficher une ligne par dessus d'autres éléments ?
    Par Yogy dans le forum Mise en page CSS
    Réponses: 3
    Dernier message: 10/09/2008, 11h41
  4. multiplier un quaternion par un vecteur ?
    Par manonoc dans le forum Moteurs 3D
    Réponses: 1
    Dernier message: 30/12/2007, 10h07
  5. Aligner par le bas deux éléments en float.
    Par blueice dans le forum Mise en page CSS
    Réponses: 1
    Dernier message: 18/12/2007, 12h42

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