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 :

parcourir les forms et les objets d'une applications


Sujet :

C++Builder

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Novembre 2006
    Messages
    49
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 49
    Par défaut parcourir les forms et les objets d'une applications
    salut les amis
    comment parcourir toutes les forms et tous les objets et tester si un objet est un label ou speedbutton,car je veux appliquer la propriété Glyph aux sppedbuttons et la propriété caption aux labels.
    et merci encore

  2. #2
    Membre Expert
    Avatar de kmaniche
    Inscrit en
    Janvier 2006
    Messages
    1 717
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 717
    Par défaut
    Bonjour,

    Commence par voir ceci


    Bonne lecture. :])

  3. #3
    Membre Expert
    Avatar de kmaniche
    Inscrit en
    Janvier 2006
    Messages
    1 717
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 717
    Par défaut
    salut,

    tu as par quoi commencer ici

  4. #4
    Membre averti
    Inscrit en
    Novembre 2006
    Messages
    49
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 49
    Par défaut
    Citation Envoyé par kmaniche
    salut,

    tu as par quoi commencer ici
    salut
    j'ai fait ça:
    Code C++ : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    if (Controls[j]->Name == section)//je vérifie si le controle trouvé est celui que je désire
        {
              if(this->Components[j]->ClassNameIs("TSpeedButton"))
                    {
                   (this->Components[j])->Glyph->LoadFromFile(Valeur);
                    }
              else
                    {
                    (this->Components[j])->Caption=Valeur;
                    }
        }

    mais j'ai cette erreur:
    'Glyph' is not a member of 'Tcomponent'
    merci pour votre aide

  5. #5
    Membre expérimenté Avatar de franckcl
    Homme Profil pro
    Developpeur Delphi
    Inscrit en
    Septembre 2004
    Messages
    516
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Developpeur Delphi
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Septembre 2004
    Messages : 516
    Par défaut
    Tu peux lister tous les composants d'une TForm en utilisant Components[i] avec i qui varie de 0 à ComponentCount.
    exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    for (i=0;i<MyForm->ComponentCount;i++) 
    {
     
    	if ( ((String)MyForm->Components[i]->ClassName())=="TLabel")  alors faire.....	
     
    }
    Attention, si tu as des composants dans un TPanel, il faudra faire la même chose dans le TPanel car les composants qui sont à l'interrieur sont aussi listés dans Panel->Components[i]
    Franck

  6. #6
    Membre averti
    Inscrit en
    Novembre 2006
    Messages
    49
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 49
    Par défaut
    Citation Envoyé par franckcl
    Tu peux lister tous les composants d'une TForm en utilisant Components[i] avec i qui varie de 0 à ComponentCount.
    exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    for (i=0;i<MyForm->ComponentCount;i++) 
    {
     
    	if ( ((String)MyForm->Components[i]->ClassName())=="TLabel")  alors faire.....	
     
    }
    Attention, si tu as des composants dans un TPanel, il faudra faire la même chose dans le TPanel car les composants qui sont à l'interrieur sont aussi listés dans Panel->Components[i]
    Franck


    salut
    c'est à cette ligne de mon code que j'ai l'erreur:
    this->Components[j])->Glyph->LoadFromFile(Valeur);
    merci

  7. #7
    Membre Expert
    Avatar de kmaniche
    Inscrit en
    Janvier 2006
    Messages
    1 717
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 717
    Par défaut
    Biensûr,

    voici la solution (j'ai pas eu le temps de tester) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    for(int i = 0 ; i < Form1 -> ComponentCount ; i++)
      if(Form1 -> Components[i] -> ClassNameIs("TSpeedButton"))
        {
           ((TSpeedButton*)Form1 -> Components[i] -> Name) -> Glyph->LoadFromFile("chemin");
        }

  8. #8
    Membre expérimenté Avatar de franckcl
    Homme Profil pro
    Developpeur Delphi
    Inscrit en
    Septembre 2004
    Messages
    516
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Developpeur Delphi
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Septembre 2004
    Messages : 516
    Par défaut
    Voici un exemple que j'utilise pour un composant ListItems.
    Tu peux remplacer Comp par Components[i] si "i" concerne le composant dont tu veux acceder à la propriété Glyph.
    Nomprop est une chaine de caractère qui contient le nom de composant. (=Champ Name)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
     TListItems *TS;
     int i;
     PPropInfo PI;
     
     PI=GetPropInfo((PTypeInfo)Comp->ClassInfo() , Nomprop);
     if (PI!=NULL)
     {
       TS = (TListItems*)(GetOrdProp(Comp, PI));
       // on peut utiliser TS comme un composant normal
       ShowMessage(TS->Name);
     }
    franck

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

Discussions similaires

  1. Afficher les paramètres d'un objet dans une autre web form
    Par faridbelkcm dans le forum ASP.NET
    Réponses: 0
    Dernier message: 18/09/2012, 17h32
  2. Réponses: 1
    Dernier message: 14/08/2009, 08h50
  3. Parcourir les Form pour les fermer
    Par David dans le forum Delphi
    Réponses: 8
    Dernier message: 04/12/2006, 13h29
  4. Changer les droits sur un objet via une requete
    Par gg72160 dans le forum Sécurité
    Réponses: 1
    Dernier message: 10/06/2006, 21h14

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