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 :

Acceder à un objet dynamiquement créé (via la souris)


Sujet :

Composants VCL Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de gregcat
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    155
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 155
    Par défaut Acceder à un objet dynamiquement créé (via la souris)
    je crée dynamiquement un ensemble d'objets champs de saisie sur une fiche et je voudrais pouvoir en selectionner un par son nom par exemple et modifier ses propriétés.

    comment puis je pointer sur cet objet de facon simple :
    peut etre par le handle ?

  2. #2
    Membre chevronné
    Avatar de Hauwke
    Inscrit en
    Septembre 2005
    Messages
    329
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 329
    Par défaut
    Bonjour,
    Tu pourrais essayer quelque chose de ce genre:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    Var
    i:Integer;
       Begin
         For i:=0 to MyForm.componentcount-1 do
            begin
               If (MyForm.components[i].classtype=Tedit) and (Myform.components[i].name='lenom') then
               begin
                  //traitement ici, c'est le bon composant
                  end
                  else
                  // traitement si c'est pas le bon au cas où...
    end;
    Tu peux te baser que sur le nom, tu peux faire un "case of" (sur le "i" le case of sinon Delphi va râler) pour en traiter plusieurs...Il y a mille méthodes
    Cordialement,
    hauwke

  3. #3
    Expert confirmé
    Avatar de qi130
    Homme Profil pro
    Expert Processus IT
    Inscrit en
    Mars 2003
    Messages
    3 944
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : Expert Processus IT
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2003
    Messages : 3 944
    Par défaut
    ...ou par son nom !

    Par ex pour 1 TEdit
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    TEdit(FindComponent('MonEdit')).Text:='contenu';

  4. #4
    Membre confirmé Avatar de gregcat
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    155
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 155
    Par défaut
    merci pour votre aide ... en fait je souhaiterai y accéder en cliquant dessus à la souris (sans connaitre son nom...). J'ai essayer avec un pointeur sur l'objet(sender) mais ca ne marche plus en dehors de la procédure de l'evennement OnMouseDown de mon objet dynamique.

    pour résumé plus clairement:

    comment puis je recupérer l'identifiant de l'objet label sur lequel je clique ? ( que ce soit un objet label ou autre)

    et comment via cet identifiant puis-je accèder aux propiétés de ce dernier ? (sans utiliser les evennements de cet objet label)

  5. #5
    Membre confirmé Avatar de gregcat
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    155
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 155
    Par défaut
    ok ca fonctionne avec findcomponent en mettant le numero du composant dans le tag et en appelant l'objet 'label'+numero de composant

    merci

  6. #6
    Expert confirmé
    Avatar de anapurna
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2002
    Messages
    3 493
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 493
    Par défaut
    salut

    pourquoi utiliser le tag ?

    le sender te permet de retrouver le nom
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    (Sender as TLabel) .name
    @+ Phil

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

Discussions similaires

  1. [Débutant] chargement objet dynamique et évenement via module
    Par simonplus dans le forum VB.NET
    Réponses: 2
    Dernier message: 18/09/2012, 17h09
  2. gridview dynamique, impossible d'acceder aux objets
    Par igorzup dans le forum ASP.NET
    Réponses: 4
    Dernier message: 30/04/2009, 09h34
  3. Ajouter objet dynamiquement via un bouton
    Par maxjaco dans le forum SWT/JFace
    Réponses: 3
    Dernier message: 23/06/2006, 16h39
  4. [C#] Accéder à un objet dynamiquement ?
    Par webtheque dans le forum ASP.NET
    Réponses: 10
    Dernier message: 14/04/2005, 15h54
  5. Evenement sur objet dynamique
    Par CanardJM dans le forum AWT/Swing
    Réponses: 8
    Dernier message: 19/11/2004, 13h56

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