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 :

Sucharger une TShape


Sujet :

C++Builder

  1. #1
    Membre habitué
    Profil pro
    Analyste programmeur
    Inscrit en
    Mars 2003
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Analyste programmeur

    Informations forums :
    Inscription : Mars 2003
    Messages : 7
    Par défaut Sucharger une TShape
    salut
    j'ai un petit probleme c'est que je veux surcharger un TShape mais pas moyen de trouver comment. En fais ma surcharge ca veux dire ajouter un Caption donc c'est pour ecrire dans le TShape, j'ai trouver comment faire en delphi mais je veux le faire en c++ builder merci bcp de la reponse

  2. #2
    Membre averti

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 28
    Par défaut
    salut !!

    je veux surcharger un TShape
    Tu veux faire quoi exactement ?? Créer un nouveau composant VCL qui hérite d'un TShape et implémente un systeme de caption ? Ou simplement créer une classe qui englobe un TShape et un TLabel (par exemple) et gére leurs interactions et leus dispositions ... ou autre chose ?

  3. #3
    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 !

    En dérivant de TShape, rajouter un pointeur sur un TLabel.
    Dans le constructeur il suffit de créer le TLabel, sans oublier d'affecter
    un Parent aux deux objets, pour ne pas dire le "bon" Parent. Probablement
    fixer Panel->TransParent sur true etc.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    class TMyShape : public TShape
    {
    public :
    TLabel *Label;
    //Positions relatives du TLabel par rapport à celles du TShape
    int Ox;
    int Oy;
     
        __fastcall TMyShape(TComponent *Owner);
        __fastcall ~TMyShape();
        void __fastcall Paint();
    }
    Surcharger la méthode Paint du TShape :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    void __fastcall TMyShape::Paint()
    {
    //Appel de la méthode Paint du TShape
    TShape::Paint();
    //Et on positionne le TLabel
    int x = Left + Ox; int y = Top + Oy;
    if((x != Label->Left) || (y != Label->Top))
        {
        Label->SetBounds(x,y, Label->Width, Label->Height);
        }
    }
    J'ai fait un essai pour déplacer l'objet final sur une form. La méthode Paint
    ainsi faite, crée l'illusion que les deux objets sont parfaitement solidaires !

    A plus !

  4. #4
    Membre habitué
    Profil pro
    Analyste programmeur
    Inscrit en
    Mars 2003
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Analyste programmeur

    Informations forums :
    Inscription : Mars 2003
    Messages : 7
    Par défaut
    merci bcp de ta reponse je vais tester tout de suite.

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 03/03/2010, 15h06
  2. Modifier les propriétés d'un TShape à l'aide d'une variable
    Par agentchico dans le forum C++Builder
    Réponses: 10
    Dernier message: 24/04/2008, 15h38
  3. taille maximale d'une base de donnée paradox
    Par Anonymous dans le forum Paradox
    Réponses: 5
    Dernier message: 14/02/2004, 17h39
  4. Peux t'on créer une copie locale de l'objet partagé?
    Par Anonymous dans le forum CORBA
    Réponses: 8
    Dernier message: 16/04/2002, 16h20
  5. Je ne peux établir une connexion cliente sous Linux.
    Par Anonymous dans le forum CORBA
    Réponses: 5
    Dernier message: 16/04/2002, 15h57

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