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 :

[Création d'objet] Comment créer et instancier plusieurs fois un objet composé ?


Sujet :

Composants VCL Delphi

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    31
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 31
    Points : 18
    Points
    18
    Par défaut [Création d'objet] Comment créer et instancier plusieurs fois un objet composé ?
    Bonjour,

    J'ai un TGroupeBox contenant un TGauge et un TLabel. Ceci composerait mon composant de base...
    J'aimerais pouvoir créer N fois ce GroupeBox et que la Gauge et le Label soit à la bonne place dedant.

    Est - il possible d'utiliser le 1er GroupeBox comme modèle et d'en instancier d'autre ou dois-je créer un pseudo constructeur qui range tout bien après la création des 3 objets ?

    Une idée pour optimiser ca ?

    Merci

  2. #2
    Membre éclairé Avatar de Kaféine
    Homme Profil pro
    Inscrit en
    Avril 2007
    Messages
    569
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 569
    Points : 736
    Points
    736
    Par défaut
    Salut,

    Tu peux coller ton groupbox, gauge et label dans un objet TFrame.

  3. #3
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 586
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 13 586
    Points : 25 254
    Points
    25 254
    Par défaut
    Tu peux aussi faire une Form avec ces composants, et en changeant le parent et le borderstyle de cette form, tu peux l'ancrée dans une autre, c'est plus souple que le Frame et plus maintenable à mon avis, ...

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    31
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 31
    Points : 18
    Points
    18
    Par défaut
    merci à tous,

    Je pourrais avoir juste les 3 lignes de code qui permettent d'instancier la form "modèle" et l'ancrer dans ma form pincipale ?

    Merci.

  5. #5
    Membre chevronné
    Avatar de Clorish
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    2 474
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 2 474
    Points : 2 158
    Points
    2 158
    Par défaut
    Quitte a choisir l'option du TForm, autant partir sur du TFrame ...
    Au moins c'est fait pour ca

    Sinon j'opterais pour la creation d'un composant dérrivé soit de TWinControl, soit directemetn de TPanel avec creation dynamique des composants internes ....

    Une fois finalisé, on peux l'installer dans l'ide pour l'utiliser comme un simple composant.

  6. #6
    Membre actif
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    190
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 190
    Points : 218
    Points
    218
    Par défaut
    bonjour

    +1 pour l'utilisation des TFORM imbriquées deux raisons :

    le jour ou tu en as besoin en tant que fenêtre tu n'auras pas de probleme car c'est une fenêtre

    un TFRAME risque de poser des problemes de deploiement lors de l'installation du TFRAME sur un autre poste delphi dans la barre de composant

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    Form_Inside=TForm_Inside.create(Panel_conteneur);
    Form_inside.parent:=Panel_conteneur;
    Form_inside.align:=allclient;
    Form_inside.show;

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    31
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 31
    Points : 18
    Points
    18
    Par défaut
    Merci, je vais tester tout ca et me creuser un peu la tête.

    Je reviens vers vous si ca coince. En attendant je clos ce post

    Merci encore à tous.

  8. #8
    Membre éclairé Avatar de Kaféine
    Homme Profil pro
    Inscrit en
    Avril 2007
    Messages
    569
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 569
    Points : 736
    Points
    736
    Par défaut
    Sans vouloir créer une polémique (fréquent avec les Frames), Si l'utilisation se limite à une utilisation type composant, comme ca à l'air ici, la frame reste interessante.

    la solution de Clorish, de dérive un Panel ou même un groupbox est également celle à laquelle j'avais pensé.

    D'ailleurs à choisir, personnellement je dérive un TGroupBox afin d'y intégrer la gauge et le label.

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

Discussions similaires

  1. Instancier plusieurs fois un même objet persisté
    Par taupinfada dans le forum Hibernate
    Réponses: 1
    Dernier message: 04/11/2011, 14h18
  2. [XL-2003] Comment créer un lien hypertexte vers un "objet"
    Par P96O1004 dans le forum Excel
    Réponses: 7
    Dernier message: 15/05/2009, 10h26
  3. comment créer un log file pour chaque objet
    Par inès83 dans le forum Programmation par agent
    Réponses: 4
    Dernier message: 05/07/2008, 21h16
  4. Réponses: 1
    Dernier message: 06/09/2006, 18h11
  5. Cloner un objet : comment créer l'instance ?
    Par phplive dans le forum Langage
    Réponses: 8
    Dernier message: 29/05/2005, 18h27

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