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

Langage Delphi Discussion :

Création dynamique de bouttons:comment passer un parametre ?


Sujet :

Langage Delphi

  1. #1
    Membre régulier Avatar de monstroplante
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    107
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 107
    Points : 76
    Points
    76
    Par défaut Création dynamique de bouttons:comment passer un parametre ?
    Bonjour,

    Je crée dynamiquement des bouttons :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    for i:=0 to StringList.Count-1 do
        with TJvNavPanelButton.Create(Self) do
        begin
          name:='Bt_Game'+inttostr(i);
          Caption := StringList[i];
          Parent := SBGames;
          Align := alTop;
          height:=18;
          font.Style:=[];
          HotTrackFont.style:=[];
          StyleManager := NPStyle1;
          onclick:=bt_loadgameclick;
          oncontextpopup:=bt_delgameclick;
        end;
    Jusque la, tout va bien...

    Le probleme c'est qu'il faut que chaque boutton effectue une action differente.
    Or, je veux leur assigner dans la propriété "onclick" la meme procedure mais pouvoir y utiliser leur propriété "caption" pour agir celon sa valeur.

    J'ai retourner le probleme dans tous les sens mais je ne vois pas comment récuperer ce parametre...

    Je pensait simplement utiliser "sender.caption" mais sender est un Tobject et je ne peut donc pas acceder aux propriétés de mon TJvNavPanelButton.

    J'ai meme éssayé de faire un tableau :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    type
      TBtGameInfo = {packed} record
        GameNane:String;
        Bt:Tobject;
      end;
    var
      BtGameInfos:array of TBtGameInfo;
    Je voulait le renseigner au moment de la création de l'objet pour retrouver la chaine en fonction de l'objet mais je n'arrive meme pas à renseigner la valeur "Bt:Tobject".

    Merci pour votre aide...

  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
    Il te faut caster Sender lorsque tu le récupères. De plus tu ferais mieux d'utiliser la propriété Tag qui est là pour ce genre de choses :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    procedure TForm1.ClickBouton(Sender: TObject);
    begin
      if Tbutton(TObject).Caption='Bouton1' then FaisCa;
      ...
    end;

  3. #3
    Membre régulier Avatar de monstroplante
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    107
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 107
    Points : 76
    Points
    76
    Par défaut
    Exactement ce que je cherchais ! 8)

    Merci !!

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

Discussions similaires

  1. [VB.Net 2.0] Comment passer en paramètre un TableAdapter ?
    Par Thierryx dans le forum Accès aux données
    Réponses: 1
    Dernier message: 25/08/2006, 15h27
  2. [C#]Comment passer un parametre d une Form à l'autre ?
    Par ToxiZz dans le forum Windows Forms
    Réponses: 9
    Dernier message: 08/02/2006, 12h28
  3. [script SQL]comment passer des parametres a un scrip sql?
    Par la7su dans le forum Langage SQL
    Réponses: 5
    Dernier message: 23/03/2005, 10h55
  4. [C#] Comment passer un paramètre Boolean au service Web ?
    Par ramalho dans le forum Services Web
    Réponses: 3
    Dernier message: 07/06/2004, 17h31

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