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 :

tracer un trait entre deux button


Sujet :

C++Builder

  1. #1
    Membre averti
    Inscrit en
    Mars 2008
    Messages
    42
    D�tails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 42
    Par d�faut tracer un trait entre deux button
    bonsoir

    est ce que il ya une possiblit� de tracer oudessiner un trait entre deux button(button1 , button2) en utilisant souris ?

    merci

  2. #2
    Expert confirm�

    Avatar de pottiez
    Homme Profil pro
    D�veloppeur C++
    Inscrit en
    Novembre 2005
    Messages
    7 152
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 40
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activit� : D�veloppeur C++
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2005
    Messages : 7 152
    Par d�faut
    Pourquoi ne pas le faire avec un TShape en forme rectangle avec les dimension qu'il faut pour un trait ?

  3. #3
    Membre averti
    Inscrit en
    Mars 2008
    Messages
    42
    D�tails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 42
    Par d�faut
    Citation Envoy� par pottiez Voir le message
    Pourquoi ne pas le faire avec un TShape en forme rectangle avec les dimension qu'il faut pour un trait ?
    merci bien pour votre aide
    mais je suis debutant et je ne sais pas ce quoi TShape en forme rectange
    ou comment le programm�
    et comment utilise la souris

    merci en avance

  4. #4
    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 sliminformatique
    Peut etre quelque chose comme ceci a adapter bien sur en fonction des composants
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    void __fastcall TForm1::Button1MouseDown(TObject *Sender,
          TMouseButton Button, TShiftState Shift, int X, int Y)
    {
    int YDepart = Button1->Top + (Button1->Height / 2);
    int XDepart = Button1->Left + Button1->Width;
    int XArrivee = Button2->Left;
    int YArrivee = Button2->Top + (Button2->Height / 2);
    Form1->Canvas->MoveTo(XDepart, YDepart);
    Form1->Canvas->LineTo(XArrivee, YArrivee);
    }

  5. #5
    Membre averti
    Inscrit en
    Mars 2008
    Messages
    42
    D�tails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 42
    Par d�faut
    c'est magnefique marche tres bien
    sera mieux pour mois s'il ya une petite modification au niveau de code pour que me permet de tracer le trait lorsque j'appuit sur le button1 par la souris jusqu'a on arrive au button2 sans lacher le button de souris
    et merci pour votre aide et votre comprehension

  6. #6
    Membre Expert

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

    Informations forums :
    Inscription : Juin 2002
    Messages : 1 412
    Par d�faut
    Salut !

    Pourquoi utiliser des boutons dans ton projet de jeu ?
    On peut tout r�soudre graphiquement.
    Un simple TCustomControl suffirait, et pour ceux � qui cela ferait peur, un TPaintBox aussi ! On peut tout dessiner !

    A plus !

  7. #7
    Membre �clair� Avatar de Baxter67
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    270
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 270
    Par d�faut
    Mais sa fais pas une gestion de monstre sa pour g�r� les click etc ?

  8. #8
    Membre Expert

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

    Informations forums :
    Inscription : Juin 2002
    Messages : 1 412
    Par d�faut
    Salut !

    Donc...

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
     
    //En global
    TPoint Srce;
    TPoint Dest;
    bool IsLinking = false;
    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
     
    void __fastcall TForm1::Button1MouseDown(TObject *Sender,
          TMouseButton Button, TShiftState Shift, int X, int Y)
    {
    TButton *Target = (TButton*)Sender;
    IsLinking = true;
    Canvas->Pen->Style = psSolid;
    Canvas->Pen->Mode = pmNot;
    Canvas->Pen->Color = clBlack;
    TPoint P = Point(Target->Left + X, Target->Top + Y);
    Srce = P;
    Dest = P;
    //Par habitude même si, à ce stade, Srce == Dest
    Canvas->MoveTo(Srce.x, Srce.y);
    Canvas->LineTo(Dest.x, Dest.y);
    }
    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::Button1MouseMove(TObject *Sender,
          TShiftState Shift, int X, int Y)
    {
    TButton *Target = (TButton*)Sender;
    if(IsLinking)
        {
        Canvas->MoveTo(Srce.x, Srce.y);
        Canvas->LineTo(Dest.x, Dest.y);
        TPoint P = Point(Target->Left + X, Target->Top + Y);
        Dest = P;
        Canvas->MoveTo(Srce.x, Srce.y);
        Canvas->LineTo(Dest.x, Dest.y);
        }
    }
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
     
    void __fastcall TForm1::Button1MouseUp(TObject *Sender,
          TMouseButton Button, TShiftState Shift, int X, int Y)
    {
    IsLinking = false;
    //Sans doute qu'ici il faut calculer s'il existe un bouton sous le curseur...
    //Et sans doute aussi les intermédiaires...
    }
    Chez moi, les segments sont dessin�s sous les objets de la VCL...
    ... et si c'est l'effet recherch�...

    A plus !

  9. #9
    Membre averti
    Inscrit en
    Mars 2008
    Messages
    42
    D�tails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 42
    Par d�faut
    Merci

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. R�ponses: 2
    Dernier message: 20/06/2012, 12h00
  2. Tracer une ligne entre deux DIV
    Par akrogames dans le forum jQuery
    R�ponses: 1
    Dernier message: 04/05/2009, 20h29
  3. [Dojo] Tracer une ligne entre deux DIV
    Par Invit� dans le forum Biblioth�ques & Frameworks
    R�ponses: 1
    Dernier message: 04/03/2009, 00h54
  4. tracer un trait entre deux points
    Par takepaf dans le forum Graphisme
    R�ponses: 4
    Dernier message: 15/02/2008, 08h21
  5. R�ponses: 6
    Dernier message: 27/04/2007, 22h50

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