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

Composants VCL Delphi Discussion :

Comment mettre plusieurs objets ds un composant ?


Sujet :

Composants VCL Delphi

  1. #1
    Candidat au Club
    Inscrit en
    Avril 2003
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Avril 2003
    Messages : 3
    Points : 2
    Points
    2
    Par défaut [Résolu] Comment mettre plusieurs objets ds un composant ?
    Bonjour

    Je débute dans la réalisation de composants.
    Pouvez vous me suggérer comment construire un composant visuel qui réunit à la fois deux objets ? (exemple un label + un edit comme le composant Tlabelededit). De quelle classe doit dériver mon composant ? Comment fixe-t-on les coordonnées d'un objet par rapport à l'autre objet ?
    Merci d'avance pour vous suggestions.

    LF

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    115
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 115
    Points : 69
    Points
    69
    Par défaut
    Salut

    Il existe le composant Tpanel
    Tu peux mettre tous les composants que tu veux
    A+ et bon développement

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 52
    Points : 75
    Points
    75
    Par défaut
    TPanel est très bien pour ne pas s'embêter au début. C'est un dérivé direct de TCustomPanel :
    Utilisez TCustomPanel comme classe de base pour la définition d'objets incluant d'autres contrôles comme éléments. Les composants volet sont des contrôles qui peuvent contenir d'autres contrôles, pour les grouper.
    En fait, tous les objets (mais ils ne sont pas tous visuels, ni destinés à recevoir des événements clavier/souris) qui dérivent de TComponent ont une propriété Components qui
    Enumère tous les composants possédés par le composant.
    .

    Enfin, pour répondre à la deuxième partie de ta question, les coordonnées sont relatives à celles du conteneur.

  4. #4
    Candidat au Club
    Inscrit en
    Avril 2003
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Avril 2003
    Messages : 3
    Points : 2
    Points
    2
    Par défaut
    Merci beaucoup pour vos éclaircissements.
    Je dérive donc mon composant de TPanel ou de TCustomPanel.
    Mais ensuite comment fait-on pour faire apparaître un label par exemple dans le TPanel ? Pouvez-vous svp me donner un exemple de constructeur du composant ?
    Encore merci pour vos réponses.

    LF

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    115
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 115
    Points : 69
    Points
    69
    Par défaut
    Salut

    Il suffit de mettre les composant dans le panel et tu les appelles normalement comme sur la form .

    exemple label1.caption := 'Toto';
    A+

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    115
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 115
    Points : 69
    Points
    69
    Par défaut
    re

    de plmus voilà les sites que propose hachesse, ils sont super pour avoir des astuces et apprendre delphi
    Les cours et tutoriels Delphi sur www.developpez.com
    La FAQ delphi des forum de www.developpez.com

    http://<br /> <br /> http://delphi...<br /> <br />

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 52
    Points : 75
    Points
    75
    Par défaut
    En gros voici des extraits de code pour créer un panel avec deux boutons:
    Dans la partie Interface, tu mets les Uses voulus et le code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    TxyBoutons = class(TCustomPanel)
       private
          BoutonReInit   : TBitBtn;
          BoutonReduireX : TBitBtn;
       public
          { Création du panel dérivé }
          constructor Create(owner : TComponent);   override;
          { Appelé par un click sur un des boutons }
          procedure   CoucouClick(Sender: TObject);
       end;

    Dans la partie Implementation, tu mets:
    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
     
    constructor TxyBoutons.Create;
    begin
    inHerited Create(owner);         // Méthode héritée
    setBounds(20, 40, 400, 200);   // Taille du panel
    { Creation premier bouton }
    BoutonReduireX                := TBitBtn.Create(self);
    BoutonReduireX.Parent      := self;
    BoutonReduireX.OnClick    := CoucouClick;
    BoutonReduireX.Caption    := 'BoutonReduireX';
    BoutonReduireX.SetBounds(10, 10, 110, 20);
    { Création second bouton }
    BoutonReInit                     := TBitBtn.Create(self);
    BoutonReInit.Parent           := self;
    BoutonReInit.Caption         := 'BoutonReduireX';
    BoutonReInit.OnClick         := CoucouClick;
    BoutonReInit.SetBounds(10, 60, 110, 20);
    end;
     
    procedure TxyBoutons.CoucouClick(Sender: TObject);
    begin
    showMessage('Coucou du bouton ' + TBitBtn(sender).Caption);
    end;
    Mais le conseil de Chonchon est pertinent: au départ, il vaut mieux faire des tutoriaux.

    Au fait, on peut dériver des composants d'autres classes: j'en ai fait à partir de TImage.

  8. #8
    Candidat au Club
    Inscrit en
    Avril 2003
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Avril 2003
    Messages : 3
    Points : 2
    Points
    2
    Par défaut
    Merci à tous pour toutes ces précisions. Le code de siocnarf est exactement ce que j'attendais

    A bientôt.

    LF

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

Discussions similaires

  1. [TP 7] Comment mettre plusieurs valeurs en une ?
    Par Qawox dans le forum Turbo Pascal
    Réponses: 7
    Dernier message: 15/07/2006, 02h38
  2. Comment mettre un GIF dans un composant RxrichEdit ?
    Par seb_homme_parfait dans le forum Composants VCL
    Réponses: 20
    Dernier message: 24/04/2006, 21h12
  3. [VB.Net 2.0][ComboBox]Comment mettre plusieurs colonnes?
    Par bataj dans le forum Windows Forms
    Réponses: 2
    Dernier message: 29/03/2006, 12h37
  4. [JScrollPane] Comment mettre plusieurs composants ?
    Par scifire dans le forum AWT/Swing
    Réponses: 5
    Dernier message: 23/12/2005, 17h39
  5. [Struts]comment mettre plusieurs paramId?
    Par njac dans le forum Struts 1
    Réponses: 5
    Dernier message: 03/08/2004, 11h20

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