Debutant souhaite ajouter TButton a un TPanel

MLD_Valus Messages postés 12 Date d'inscription jeudi 28 septembre 2006 Statut Membre Dernière intervention 24 mars 2009 - 24 mars 2009 à 13:58
cs_Loda Messages postés 814 Date d'inscription vendredi 3 novembre 2000 Statut Membre Dernière intervention 30 juillet 2009 - 25 mars 2009 à 09:09
Bonjour, je débarque de la planete Java et on me demande de creer une appli en Delphi et moi je n'en ai jamais fait. Je souhaiterais donc avoir un exemple de code permettant de creer des TButtons à l'intérieur d'un TPanel pour creer une sorte de menu vous voyez ? Savez vous comment je dois m'y prendre ?

Cordialement,

Valus
MLD (le mouvement de libération du développeur)

3 réponses

Nicolas___ Messages postés 992 Date d'inscription jeudi 2 novembre 2000 Statut Membre Dernière intervention 24 avril 2013 1
24 mars 2009 à 14:55
ben la différence entre delphi et java , c'est que tu peux directement le faire a partir de ta fiche , tu place un TPanel , tu Place ensuite 1 TButton sur Ton Panel (sur ta TForm ) et le tour est joué !

Rien de plus facile , et il n'y a meme pas besoin de faire des Key/Mouse listener , puisque tout est déjà prévu ...
0
f0xi Messages postés 4205 Date d'inscription samedi 16 octobre 2004 Statut Modérateur Dernière intervention 12 mars 2022 35
24 mars 2009 à 16:58
oui tu peu le faire manuellement, en plaçant des TButton directement sur un TPanel, soit de maniere Dynamique.

unit Unit5;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ExtCtrls;

type
  TForm5 = class(TForm)
    PanelButton: TPanel;
    BtnCreate: TButton;
    procedure BtnCreateClick(Sender: TObject);
  private
    { Déclarations privées }
  public
    procedure PanelButtonsClick(Sender: TObject);
  end;

var
  Form5: TForm5;

implementation

{$R *.dfm}

procedure TForm5.BtnCreateClick(Sender: TObject);
var
  Btn : TButton;
  N   : integer;
begin
  for N := 0 to 5 do
  begin
    // Creation
    Btn := TButton.Create(PanelButton);
    Btn.Parent := PanelButton;

    // Marges et alignement
    Btn.Top              := N * Btn.Height;
    Btn.AlignWithMargins := true;
    Btn.Margins.Left     := 4;
    Btn.Margins.Top      := 4;
    Btn.Margins.Right    := 4;
    Btn.Margins.Bottom   := 0;
    Btn.Align            := AlTop;

    // Texte
    Btn.Caption:= 'Button'+IntToStr(N);

    // Identification
    Btn.Tag := N + 1;

    // Evenements
    Btn.OnClick:= PanelButtonsClick;
  end;
end;

procedure TForm5.PanelButtonsClick(Sender: TObject);
begin
  case (Sender as TButton).Tag of
    1 :
      begin
        // Button 1 click
      end;
    2 :
      begin
        // Button 2 click
      end;
    3 :
      begin
        // Button 3 click
      end;
    4 :
      begin
        // Button 4 click
      end;
    5 :
      begin
        // Button 5 click
      end;
    6 :
      begin
        // Button 6 click
      end;
  end;
end;

end.

<hr size="2" width="100%" />
0
cs_Loda Messages postés 814 Date d'inscription vendredi 3 novembre 2000 Statut Membre Dernière intervention 30 juillet 2009 3
25 mars 2009 à 09:09
salut,

si t'as juste besoin d'un bouton, utilise la palette (les créer dynamiquement, c'est pour des cas plus spécifiques)

clique sur l'icon tbutton (dans standard) et clique sur ta form ou ton panel. et voilà!

ensuite si tu double-clique sur ton nouveau boutton, tu vas entrer dans l'éditeur de code dans l'event "onClick".

écrit:
 ShowMessage("Hello World");

et press F9 pour lancer ton projet ! c'est aussi simple que ça.

bon code,

Loda
<hr size="2" width="100%" />Se poser les bonnes questions est le premier pas pour trouver les bonnes réponses.
0
Rejoignez-nous