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

Delphi Discussion :

Événements sur composants créés dynamiquement


Sujet :

Delphi

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 42
    Points : 26
    Points
    26
    Par défaut Événements sur composants créés dynamiquement
    Bonjour,

    Sous delphi6 perso, dans mon applic je crée des checkbox dynamiquement :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    for i:=0 to memo1.lines.count-1 do
    begin
      Tcheckbox.Create(Self).Name :=  NamePrefix + IntToStr(i);
        with Tcheckbox(FindComponent(NamePrefix + IntToStr(i))) do
          begin
          font.size:=6 ;
          font.Color := clgreen;
          width:=100;
          end;
    end;
    Comment définir et/ou utiliser les événements "on click" ou "on keypress" (par exemple) sur ces composants créés dynamiquement ?
    Merci pour vos réponses.
    Phil
    'Tout est dans tout et... Réciproquement' P.DAC

  2. #2
    Rédacteur
    Avatar de Pedro
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    5 411
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 5 411
    Points : 8 078
    Points
    8 078
    Par défaut
    Salut
    L'idéal dans ce cas-là, c'est d'utiliser un TObjectList dans lequel tu mets tous tes TCheckBox.
    Pour accéder à chacune des TCheckBox, il suffira de faire:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    TCheckBox(ObjectList.Items[i]).Checked;
    Pour plud d'infos, sur TObjectList
    Pedro
    Aucune réponse aux sollicitations techniques par MP

    Faut pas attendre d'en avoir besoin pour s'en servir... (Lucien Stéphane)

    Les pages Source C'est bon. Mangez-en!
    Le défi Delphi
    Règles du forum - FAQ Delphi - Pensez au chtit
    Aéroclub Bastia Saint-Exupéry

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 42
    Points : 26
    Points
    26
    Par défaut
    Ok merci mais pour les événements sur ces composants créés à la volée on fait comment ?
    'Tout est dans tout et... Réciproquement' P.DAC

  4. #4
    Membre averti
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2005
    Messages
    218
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2005
    Messages : 218
    Points : 311
    Points
    311
    Par défaut
    Il suffit de lier tes évènements à un évt existant ou que tu as créé.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     BtLettre.OnClick := BtReference.OnClick
    ;

    Dans l'évt tu dois utiliser le sender pour faire une action spécifique pour chacun de tes checkbox.

    Exemple sur des tboutons :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    procedure TFrmValeur.BtAClick(Sender: TObject);
    begin
      WLettreCherchee := Copy((Sender as TButton).Name,Length((Sender as TButton).Name),1);
      EdRecherche.Text := WLettreCherchee;
      if Sender is TButton then
      begin
        MdValeur.CdsLibVal.locate('libval',WLettreCherchee, [loPartialKey]);
      end;
    end;

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 42
    Points : 26
    Points
    26
    Par défaut
    ok ok merci pour ta réponse
    Phil
    'Tout est dans tout et... Réciproquement' P.DAC

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

Discussions similaires

  1. Réponses: 6
    Dernier message: 05/05/2007, 19h51
  2. événement sur composants dynamiques
    Par kirua2150 dans le forum Delphi
    Réponses: 5
    Dernier message: 02/05/2007, 03h33
  3. drag sur controls créés dynamiquement
    Par ptisinge dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 13/10/2006, 13h04
  4. parent/owner et composants créés dynamiquement
    Par OutOfRange dans le forum Delphi
    Réponses: 2
    Dernier message: 26/09/2006, 15h46
  5. Gestion séparée de composants créés dynamiquement
    Par anarpunk dans le forum Composants VCL
    Réponses: 8
    Dernier message: 15/06/2005, 10h57

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