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 :

OnClick sur un bouton créé dynamiquement


Sujet :

Delphi

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    119
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2003
    Messages : 119
    Points : 115
    Points
    115
    Par défaut OnClick sur un bouton créé dynamiquement
    Bonjour à tous,

    J'ai un petit souci avec le OnClick sur des boutons créé dynamiquement.
    Je crée toute une série de bouton dynamiquement à la création de la fiche et j'aimerai que quand je clique sur un de ces bouton, la valeur caption de ce bouton s'inscrive dans le caption de ma fiche, je sais, c'est certainement bête comme chou, mais je ne trouve pas.

    Quelqu'un pourrait-il m'aider

    Voici mon code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
     
    unit Unit1;
     
    interface
     
    uses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, StdCtrls;
     
    type
      TForm1 = class(TForm)
        procedure FormCreate(Sender: TObject);
        procedure btn1Click(Sender: TObject);
      private
        { Déclarations privées }
      public
        { Déclarations publiques }
      end;
     
    var
      Form1: TForm1;
      btn1: TButton;
     
    implementation
     
    {$R *.dfm}
     
    procedure TForm1.FormCreate(Sender: TObject);
    var
      i: shortint;
      position: integer;
      valeur: shortint;
     
    begin
      position:= 8;
      valeur:= 65;
      for i:= 0 to 26 - 1 do
      begin
        btn1:= TButton.Create(Self);
        btn1.Parent:= Self;
        btn1.Left:= position;
        btn1.Top:= 8;
        btn1.Width:= 25;
        btn1.Caption:= chr(valeur);
        position:= btn1.Left + 30;
        valeur:= valeur + 1;
      end;
     
    end;
     
    procedure TForm1.btn1Click(Sender: TObject);
    begin
      Caption:= (Sender as TButton).Caption;
    end;
     
    end.
    Merci d'avance

    Jeankiki

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

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

    Informations forums :
    Inscription : Mars 2003
    Messages : 3 903
    Points : 6 027
    Points
    6 027
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    procedure TForm1.btn1Click(Sender: TObject);
    begin
      Form1.Caption:= (Sender as TButton).Caption;
    end;
    "Il n'y a pas de bonnes réponses à une mauvaise question." (M. Godet)
    -----------------------
    Pensez à cloturer votre sujet - Aucune réponse aux sollicitations techniques par MP
    Usus magister est optimus

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    119
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2003
    Messages : 119
    Points : 115
    Points
    115
    Par défaut
    J'ai déjà essayé mais ça ne fonctionne pas non plus, j'ai aussi essayé avec Self vu que Self est égale à Form1
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Self.Caption:= (Sender as TButton).Caption
    ou aussi avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Self.Caption:= btn1.Caption;
    mais rien à faire ça ne fonctionne pas, as-tu une autre idée

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

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Juillet 2004
    Messages : 128
    Points : 119
    Points
    119
    Par défaut
    Il faut surtout que tu rajoute cette ligne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    btn1.OnClick:=btn1Click;
    Ainsi tu as :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    procedure TForm1.FormCreate(Sender: TObject);
    var
      i: shortint;
      position: integer;
      valeur: shortint;
     
    begin
      position:= 8;
      valeur:= 65;
      for i:= 0 to 26 - 1 do
      begin
        btn1:= TButton.Create(Self);
        btn1.Parent:= Self;
        btn1.Left:= position;
        btn1.Top:= 8;
        btn1.Width:= 25;
        btn1.Caption:= chr(valeur);
        btn1.Onclick:=btn1Click;
        position:= btn1.Left + 30;
        valeur:= valeur + 1;
      end;
     
    end;

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    119
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2003
    Messages : 119
    Points : 115
    Points
    115
    Par défaut
    Merci flash_math, j'avais complètement oublié, le problème est résolu

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

Discussions similaires

  1. Savoir sur quel bouton créé dynamiquement l'utilisateur a cliqué
    Par Pierre Fauconnier dans le forum Contribuez
    Réponses: 8
    Dernier message: 05/08/2011, 12h54
  2. Action sur des boutons crées dynamiquement
    Par barthelus76 dans le forum SWT/JFace
    Réponses: 13
    Dernier message: 28/06/2007, 20h32
  3. OnClick sur un component créé dynamiquement.
    Par aliwassem dans le forum Delphi
    Réponses: 3
    Dernier message: 01/11/2006, 22h04
  4. OnClick sur un Panel créé dynamiquement.
    Par tazthedev dans le forum Delphi
    Réponses: 8
    Dernier message: 21/10/2006, 01h07
  5. OnClick d'un Bouton créée dynamiquement
    Par ero-sennin dans le forum C++Builder
    Réponses: 5
    Dernier message: 23/06/2006, 13h52

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