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�finition d'une propri�t� de type 'TAnchors'


Sujet :

C++Builder

  1. #1
    Membre �prouv�
    Profil pro
    Inscrit en
    Ao�t 2006
    Messages
    190
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Ao�t 2006
    Messages : 190
    Par d�faut D�finition d'une propri�t� de type 'TAnchors'
    Bonjour � tous,

    Mon probl�me est sans doute simple � r�soudre, mais je coince dessus depuis deux heures, sans aucuns r�sultats.
    Et mes recherches sur le net n'ont pas �t� fructueuses.

    De la m�me mani�re que l'on peut cr�er des propri�t�s de type entier (simple exemple), comme ceci:

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
     
    private:
      int FTest;
    protected :
      void __fastcall SetTest(int T);
    public :
      __property int Test = {read=FTest,write=SetTest,default=0};
    j'aimerai d�finir une propri�t� de type TAnchors :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
     
    private:
      TAnchors FTestAnc;
    protected :
      void __fastcall SetTestAnc(TAnchors TestAnc);
    public :
      __property TAnchors TestAnc = {read=FTestAnc,write=SetTestAnc,default=3};
    Or en procedant ainsi, lorsque j'affecte une valeure � ma propri�t� TestAnc :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
     
    Form1->TestAnc << akTop;
    je ne passe pas dans la m�thode 'SetTestAnc'.
    Cela m'apparait a priori normal, 'write=SetTestAnc' �tant tr�s probablement associ� � l'op�rateur '='.

    Mais alors comment faire pour rediriger l'utilisation de l'op�rateur '<<' vers 'SetTestAnc'?
    Suis-je condamn� � cr�er une classe, dans la quelle je cr�erai moi m�me les op�rateurs '<<' et '>>'?

    Merci d'avance pour vos �claircissements, et bonne soir�e

    Benjamin

  2. #2
    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 Grosbenji
    Jette un oeil sur ce lien, je pense que cela va t'interesser

  3. #3
    Membre �prouv�
    Profil pro
    Inscrit en
    Ao�t 2006
    Messages
    190
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Ao�t 2006
    Messages : 190
    Par d�faut
    Bonjour,

    Merci Blondelle pour ton aide.

    Mais, concernant l'utilisation d'une propri�t� de 'type TAnchor', je n'ai pas de probl�me.

    C'est sur la d�finition d'une propri�t� de ce type que je coince.

    J'ai beau chercher dans la page d�sign�e par ton lien, je n'y ai pas trouv� r�ponse � mon probl�me.

    Je vais expliquer le contexte de mon probl�me:

    J'ai d�fini des composants constitu�s de 'plusieurs composants'.
    Par exemple un TLabelEdit constitu� par un Edit (le composant h�rite de TEdit) et d'un TLabel (celui-ci �tant d�finit comme membre de la classe).

    Grosso-modo:

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
     
    class TLabelEdit : TEdit {
      //..
      private :
        TLabel *lab;
      //..
    };
    J'ai surcharg� les propri�t�s Top, Left, Width et Height du TLabelEdit pour bien positionner le TLabel par rapport au TEdit.

    De m�me, j'ai surcharg� la propri�t� parent pour que celle-ci s'applique aussi bien sur le edit, que sur le label:

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    class TLabelEdit : public TEdit{
      //..
      private :
        TLabel *lab;
      protected:
      void setParent(TWinControl *par){
        TEdit::Parent = par;
        lab->Parent = par;
      }
      //..
      public:
        __property Parent = {write=setParent}; 
    };
    Maintenant, j'aimerai faire la m�me chose avec les propri�t�s Anchors. Autrement dit, lorsque je fais:

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
     
    TLabelEdit *LabEd = new TLabelEdit(Form1);
    LabEd->Anchors << akTop << akLeft;
    je souhaiterai faire en sorte que celle-ci s'applique aussi sur mon label, et pas uniquement sur le Edit.

    En esp�rant avoir �t� un peu plus clair.

    Merci,

    Cordialement

    Benjamin

  4. #4
    Membre �prouv�
    Profil pro
    Inscrit en
    Ao�t 2006
    Messages
    190
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Ao�t 2006
    Messages : 190
    Par d�faut
    Bonjour,

    J'ai laiss� tomber l'id�e d'utiliser les "__property".

    Je passe finalement par une m�thode qui applique directement les Anchors sur mes deux composants.

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
     
    class TLabelEdit : public TEdit{
      //...
      public:
        void SetAnchors(TAnchors Anchors);
      //...
    };
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
     
    void LabelEdit::SetAnchors(TAnchors Anchors){
      TSFKEdit::Anchors = Anchors;
      label->Anchors = Anchors;
    }
    Qui s'utilise de la mani�re suivante:

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
     
    LabEd->SetAnchors(TAnchors()<<akRight<<akBottom);
    Bonne journ�e

    Cordialement,

    Benjamin

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

Discussions similaires

  1. [XSD] d�finition d'une propri�t� abstraite
    Par jyerfr dans le forum Valider
    R�ponses: 1
    Dernier message: 22/02/2008, 13h39
  2. R�ponses: 2
    Dernier message: 25/10/2007, 16h16
  3. R�ponses: 5
    Dernier message: 26/09/2007, 03h34
  4. R�ponses: 1
    Dernier message: 21/12/2005, 19h08
  5. R�ponses: 2
    Dernier message: 18/10/2003, 14h42

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