cs_gibet
Messages postés1Date d'inscriptionmardi 9 avril 2002StatutMembreDernière intervention 9 avril 2002
-
9 avril 2002 à 19:22
cs_juliop
Messages postés13Date d'inscriptionlundi 19 mai 2003StatutMembreDernière intervention 2 juillet 2003
-
30 juin 2003 à 20:35
Qd je cree un bouton dynamiquement, suis-je oblige de le declarer au prealable ?
Parce qu'en fait je ne sais au depart combien je dois creer de bouton dc difficile de les declarer tous...
cs_Delphiprog
Messages postés4297Date d'inscriptionsamedi 19 janvier 2002StatutMembreDernière intervention 9 janvier 201332 9 avril 2002 à 20:35
Ce type de composant visuel est issu du type TComponent.
Il doit donc posséder un propriétaire, un parent et un nom différent de celui des autres.
Exemple :
Au niveau Interface :
private
Counter: Integer;
Au niveau implementation :
procedure TForm1.FormMouseDown(
Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
var
NewCtrl: TControl;
NewName: String;
begin
// create the control
NewCtrl := TButton.Create (self);
// Masquer temporairement pour éviter
// le flickering
NewCtrl.Visible := False;
// Déclarer parent et position
NewCtrl.Parent := self;
NewCtrl.Left := X;
NewCtrl.Top := Y;
// Rechercher un nom unique (et un Caption)
Inc (Counter);
NewName := NewControl.ClassName + IntToStr (Counter);
//Retirer le 'T'
Delete (NewName, 1, 1);
NewCtrl.Name := NewName;
// Rendre visible
NewCtrl.Visible := True;
end;
Un type Tcontrol permet dans le cas présent de déclarer différents type de contrôles mais n'est pas absolument indispensable si tu ne dois créer que des boutons.
Le contrôle propriétaire est chargé de la destruction des objets 'sous sa garde', tu n'as même pas à te préoccuper de leur destruction.
cs_mipou
Messages postés5Date d'inscriptiondimanche 14 avril 2002StatutMembreDernière intervention29 avril 2002 14 avril 2002 à 14:55
-------------------------------
Réponse au message :
-------------------------------
Ce type de composant visuel est issu du type TComponent.
Il doit donc posséder un propriétaire, un parent et un nom différent de celui des autres.
Exemple :
Au niveau Interface :
private
Counter: Integer;
Au niveau implementation :
procedure TForm1.FormMouseDown(
Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
var
NewCtrl: TControl;
NewName: String;
begin
// create the control
NewCtrl := TButton.Create (self);
// Masquer temporairement pour éviter
// le flickering
NewCtrl.Visible := False;
// Déclarer parent et position
NewCtrl.Parent := self;
NewCtrl.Left := X;
NewCtrl.Top := Y;
// Rechercher un nom unique (et un Caption)
Inc (Counter);
NewName := NewControl.ClassName + IntToStr (Counter);
//Retirer le 'T'
Delete (NewName, 1, 1);
NewCtrl.Name := NewName;
// Rendre visible
NewCtrl.Visible := True;
end;
Un type Tcontrol permet dans le cas présent de déclarer différents type de contrôles mais n'est pas absolument indispensable si tu ne dois créer que des boutons.
Le contrôle propriétaire est chargé de la destruction des objets 'sous sa garde', tu n'as même pas à te préoccuper de leur destruction.
May Delphi be with you.
-------------------------------
Réponse au message :
-------------------------------
Qd je cree un bouton dynamiquement, suis-je oblige de le declarer au prealable ?
Parce qu'en fait je ne sais au depart combien je dois creer de bouton dc difficile de les declarer tous...