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 Panel créé dynamiquement.


Sujet :

Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2006
    Messages : 39
    Par défaut OnClick sur un Panel créé dynamiquement.
    Salut tlm,

    j'essai, pour passer le temps... de créer 3 panel dynamiquement.. no problemo..

    mais comment le attribuer l'événement OnClick ?!?

    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
       for i:=0 to 2 do begin
    		panel := TBSSkinPanel.Create(self);
       	with panel do try
       		Parent := form1 ;
             panel.Tag := i ;
          	left := 100 ;
          	top :=  y ;
          	height := 100 ;
          	width := 100 ;
       		Visible := true;
       		SkinData := bsSkinData1 ;
       		panel.Caption := inttostr(panel.tag) ;
          	SkinDataname := 'groupbox';
          	CaptionMode := true;
          	checkedmode := true;
             RollUpMode  := true ;
         //    OnClick := MyOnClick(sender) ;
             // := MyOnClick(i) ;
       	finally
       	//	free;
       	end;
    La ligne que j'avais... OnClick := MyOnClick(sender) ; ne fonctionnait pas, alors je l'ai mise en commentaire.

    Comment faire ??!? Je dois rediriger le OnClick de Delphi, vers ma nouvelle procedure.. mais comment faire ? Et puis, une fois ceci réglé, je dois savoir lequel de ces 3 panels a été clické pour exécuter le code lui correspondant..

    Quelqu'un a une idée ?

  2. #2
    Membre émérite Avatar de slimjoe
    Homme Profil pro
    Inscrit en
    Juin 2005
    Messages
    647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : Canada

    Informations forums :
    Inscription : Juin 2005
    Messages : 647
    Par défaut
    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
    procedure TForm1.DoClick(Sender: TObject);
    begin
      Showmessage('Click!');
    end;
     
    procedure TForm1.FormCreate(Sender: TObject);
    begin
      for i := 0 to 2 do
      begin
        panel := TBSSkinPanel.Create(self);
        with panel do
        begin
          Parent := form1;
          panel.Tag := i;
          left := 100;
          top := y;
          height := 100;
          width := 100;
          Visible := true;
          SkinData := bsSkinData1;
          panel.Caption := inttostr(panel.tag);
          SkinDataname := 'groupbox';
          CaptionMode := true;
          checkedmode := true;
          RollUpMode := true;
          OnClick := DoClick;
        end;
      end;
    end;

  3. #3
    Expert confirmé

    Avatar de sjrd
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Juin 2004
    Messages
    4 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : Suisse

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2004
    Messages : 4 517
    Par défaut
    +1, et dans DoClick tu peux utiliser le paramètre Sender pour savoir quel panel a déclenché l'événement.
    sjrd, ancien rédacteur/modérateur Delphi.
    Auteur de Scala.js, le compilateur de Scala vers JavaScript, et directeur technique du Scala Center à l'EPFL.
    Découvrez Mes tutoriels.

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2006
    Messages : 39
    Par défaut
    je l'avais presque finalement...

    ma procédure ne fonctionnait pas car je mettais.. OnClick := MyOnClick(Sender); ))

    Mais pour le sender...
    je me souvenais que le sender était le composant qui appelait la procédure... mais comment lui dire ... si c'est le 2eme panel qui est clické, fait ci. .. l'autre.. fait ca... et ainsi de suite...

    sender suivit d'un . (point) ne m'apporte pas beaucoup d'options dans son menu.. alors, .. je me demande quoi faire par la suite...

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2006
    Messages : 39
    Par défaut
    oubliez ca..

    je me suis souvenu lol


    if (Sender as TBsSkinPanel).Tag = 1 then
    Showmessage('Click!');

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2006
    Messages : 39
    Par défaut
    hm... ok, ceci étant réglé..

    comment faire pour faire afficher sur une autre form (form2) l'image du panel créé dynamiquement (sur form1) ?!?

Discussions similaires

  1. ajout onclick sur table dynamique
    Par alaver dans le forum Général Conception Web
    Réponses: 0
    Dernier message: 21/02/2013, 16h02
  2. affectation de onclick sur TImage créé dynamiquement
    Par Darkyl dans le forum Composants VCL
    Réponses: 17
    Dernier message: 12/09/2009, 18h53
  3. Procédure onclick sur sous-menus dynamique
    Par julesclaude dans le forum Langage
    Réponses: 3
    Dernier message: 29/06/2008, 21h43
  4. OnClick sur un bouton créé dynamiquement
    Par Jeankiki dans le forum Delphi
    Réponses: 4
    Dernier message: 05/11/2006, 18h44
  5. OnClick sur un component créé dynamiquement.
    Par aliwassem dans le forum Delphi
    Réponses: 3
    Dernier message: 01/11/2006, 22h04

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