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 :

la descendance d'un composant


Sujet :

Composants VCL Delphi

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    76
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 76
    Par défaut la descendance d'un composant
    je reformule ma question plus simplement pour que plus de monde puisse repondre .
    Est t'il possible de connaitre la descendance d'un composant ?
    Par descendance je veux dire :
    On admet qu’un composant à des composant enfant et je voudrai récupérer la liste des composant enfant pour sélectionner après celui dont j'ai besoin.

    exemple : on a un GroupBox et à l'interrieur on met des labels
    et je veux selectionner un des labels. par la méthode que je dis au dessus .


    Merci d'avance

  2. #2
    Membre confirmé
    Profil pro
    Enseignant
    Inscrit en
    Juillet 2004
    Messages
    128
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Juillet 2004
    Messages : 128
    Par défaut
    Tu as la propriété controls d'un TWinControl qui te permet de lister tous les controles fenêtrés.

  3. #3
    Membre éprouvé
    Profil pro
    Inscrit en
    Août 2006
    Messages
    185
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2006
    Messages : 185
    Par défaut
    tu peux faire quelque chose du genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    var
       myComponent : Tcomponent;
    begin
    For i:=0 to monGroupBox.componentcount do
       begin
       myComponent := monGroupBox.componentItems[i];
       if myComponent is TLabel then
         ///traitement
       end;
    Ceci sous entend que tes labels ont comme propriétaire et comme parent le groupBox (il me semble) :
    --> MonLabel1.owner := monGroupBox;
    --> MonLabel1.parent := monGroupBox;

  4. #4
    Membre confirmé
    Profil pro
    Enseignant
    Inscrit en
    Juillet 2004
    Messages
    128
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Juillet 2004
    Messages : 128
    Par défaut
    Le problème de componentcount et de la propriété component ne donne pas la liste des composants contenus dans un autre.

    on peut faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    myLabel:=TLable.create(form1);
    myLabel.parent:=mygroupBox;
    C'est form1 qui renverra myLabel et non myGroupBox, et pourtant le label est dans le TGroupBox.

  5. #5
    Dry
    Dry est déconnecté
    Membre averti

    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    48
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 48
    Par défaut
    Plutot d'utiliser la propriété Components, utilise plutot la propriété Controls

    petit Exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    procedure ListerComposant(aComposant : TWinControl);
    var
      i : integer;
    begin
      For i:=0 to Pred( aComposant.ControlCount ) do
      begin
        showMessage(aComposant.Controls[i].Name);
      end;
    end;
    Bon dev
    Dry

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    76
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 76
    Par défaut
    Merci beaucoup j'étais au travail désolé de vous repondre si tard je vais dessuite essayer tout cela .
    Merci encore je vous tiens au courant

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    76
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 76
    Par défaut
    je crée un composant Tcombobox du nom de abox .

    TabPagepiece.Controls[NumTableau]

    puis je réafecter un Tcontrol a un Tcombobox .

    je fais un teste if avant de réaffecter le composant, mais après la fonction qui sert à faire cela m'est totalement inconnue si une personne connaitrai une facon ?

    merci d'avance

  8. #8
    Dry
    Dry est déconnecté
    Membre averti

    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    48
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 48
    Par défaut
    Il est relativement difficile de comprendre ce que tu dis ...

    D'après ce que j'ai compris, tu cherches à transférer ta Combo d'un composant sur un autre; si c'est le cas, ce petit bout de code devrait t'éclairer un peu

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Panel1.RemoveControl(aCombo);
    Panel2.InsertControl(aCombo);

  9. #9
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    76
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 76
    Par défaut
    j'ai trouvé la reponse a ma derniere question :
    je vous met dessuite la reponse .

    je fais un teste if avant de réaffecter le composant, mais après la fonction qui sert à faire cela m'est totalement inconnue si une personne connaitrai une facon ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    TabPagepiece.Controls[NumTableau] is Tcombobox
    La solution était l'utilisation de " IS " que je ne connaissais pas du tout dans les langages de programmation encore merci a tous .

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

Discussions similaires

  1. Tri descendant avec composant TZTable de Zeos
    Par defluc dans le forum Bases de données
    Réponses: 2
    Dernier message: 23/07/2007, 20h08
  2. Réponses: 1
    Dernier message: 23/06/2002, 00h15
  3. Redéfinir l'événement OnExit de mon composant TEditFloat
    Par Seb des Monts dans le forum C++Builder
    Réponses: 5
    Dernier message: 18/06/2002, 16h10
  4. Installer ses composants
    Par Geronimo dans le forum C++Builder
    Réponses: 14
    Dernier message: 18/06/2002, 14h51
  5. Re-dimensionnement automatique de composants
    Par ludo_7 dans le forum C++Builder
    Réponses: 10
    Dernier message: 16/05/2002, 16h35

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