begin process at 2010 03 19 13:27:55
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Tutoriaux

 > CRÉATION DYNAMIQUE DE BOUTONS (À L'EXÉCUTION, DONC)

CRÉATION DYNAMIQUE DE BOUTONS (À L'EXÉCUTION, DONC)


 Information sur la source

Note :
9,09 / 10 - par 11 personnes
9,09 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Tutoriaux Classé sous :dynamique, création, boutons, souris, cliquer Niveau :Débutant Date de création :05/09/2003 Date de mise à jour :14/11/2003 14:58:37 Vu / téléchargé :6 589 / 955

Auteur : japee

Ecrire un message privé
Ce membre participe au partage de revenus publicitaires
Commentaire sur cette source (11)
Ajouter un commentaire et/ou une note


 Description

Cliquez pour voir la capture en taille normale
Ce code crée des boutons à l'exécution, en cliquant simplement en un endroit quelconque de la Fiche.
De plus, un évènement est associé au clic de chaque boutons créé.
J'ai opté ici pour TButton, mais on peut bien sûr créer d'autres objets de la même manière (TPanel, TImage, etc...)
On peut à tout moment supprimer ces objets, toujours à l'exécution, en libérant la mémoire.
J'envoie cet essai car il semble répondre à quelques questions posées sur le forum.
Bien entendu, n'hésitez pas à me faire par de vos critiques et suggestions.
Bonne prog' à toutes et à tous !  


 Conclusion

Chose promise, chose dûe... voici la nouvelle version.
J'ai revu ma procedure :
j'ai laissé tomber la récursivité, il n'y a plus besoin de passer de paramètres, et elle est plus propre me semble-t'il :-)

Et voici la 2ème mise à jour, je vais finir par y arriver !
Pour résumer, j'attribue maintenant une valeur au Tag des bouton au moment de leur création, et je me sers de cette valeur pour libérer les boutons créés. C'est plus simple.

3ème maj mineure le 14-11-03.


 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Sources du même auteur

Source avec Zip Source avec une capture DEPLACER LES ITEMS D'UNE LISTBOX VERS UNE AUTRE PAR DRAG AND...
Source avec Zip Source avec une capture DÉMINEUR UTILISANT UNE TDRAWGRID ET AVEC LEQUEL ON PEUT TRIC...
Source avec Zip Source avec une capture SIGNIFICATION DES CODES D'ERREUR DE L'API WIN32 - UTILISATIO...
Source avec Zip Source avec une capture CONVERSION LITTÉRALE D'UN NOMBRE ENTIER OU FLOTTANT
Source avec Zip Source avec une capture TPULSEBUTTON - RÉPÉTITION PROGRESSIVE D'UN EVENT PENDANT ONK...

 Sources de la même categorie

Source avec Zip Source avec une capture GESTION DE L'ACCÈS AU MDICHILD À L'AIDE D'ONGLET par CricriLeFou
MAILS AVEC INDY10 : CONTENTTYPE/CONTENTID/PARENTPART par MAURICIO
Source avec Zip Source avec une capture LES CODES DU TUTORIEL SUR LA PROTECTION DES LOGICIELS PAR FI... par Paounet
Source avec Zip Source avec une capture DESIGN PATTERN OBSERVER : IMPLÉMENTATION RÉUTILISABLE par Delphiprog
Source avec Zip Source avec une capture STEGANO - CACHER DU TEXTE DANS UNE IMAGE (TUTO) par pablor44

 Sources en rapport avec celle ci

Source avec Zip INTÉGRER UN TDBLOOKUPCOMBOBOX DANS TSTRINGGRID par lord948
Source avec Zip Source avec une capture COMPOSANT TSWITCHLED (UNE LED) par Bacterius
Source avec Zip Source avec une capture KEYMOUSE PARAMÉTRAGE, OU MODIFIER LES PARAMÈTRES DE LA SOURI... par Bacterius
Source avec Zip Source avec une capture MODIFIER LES DATES DE CRÉATION, DE MODIFICATION ET DE DERNIE... par ni69
Source avec Zip Source avec une capture CREER DYNAMIQUEMENT MON OBJET, (EXEMPLE UN COMPTEUR POUR MO... par getsource

Commentaires et avis

Commentaire de japee le 06/09/2003 17:44:27 administrateur CS

Je m'aperçois qu'on peut faire encore plus simple et plus facilement transposable à tout objet créé dynamiquement :

Il faut attribuer un Tag à l'objet au moment de sa création, (ici dans la procedure "constructor TMonButton.Create(AOwner: TComponent);").
Par exemple :

Tag := 1;

Pour libérer l'objet, la procedure devient :

procedure TForm1.LibereMonBouton;
var i: Integer;
begin
  for i := ComponentCount - 1 downto 0 do
  begin    
    if Components[i].Tag = 1 then
    begin
      //Dec(NbreBtn); inutile ici... (voir le zip)
      Components[i].Free;
    end;
  end;
end;

OK ?

En attendant la mise à jour, pffffffff.........

Bonne Prog' !

Commentaire de japee le 21/09/2003 00:16:23 administrateur CS

Ouah, vraiment super, le nouveau look du site ;-)
Mais le hic, c'est qu'on ne peut plus faire semblant de ne pas voir la note, c'est clair !
Notation des membres : 5,00/10...
Je remercie par avance la personne qui n'a pas compris l'intérêt de ce code, ou qui l'a trouvé médiocre, de bien vouloir faire un petit commentaire, afin de nous éclairer de ses lumières...
On ne sait jamais...??? Ca pourrait m'être utile, ainsi qu'aux 277 personnes qui sont déjà passées par ici (au 20/09/03)... et à celles qui passeront plus tard :-)

Commentaire de r_g le 22/12/2003 19:15:09

Plutot cool, je me demandais justement comment creer des menus dynamiquement en lisant un fichier XML, merci.

Commentaire de Inekman le 11/04/2004 15:35:49

Excellent source Japee ! Tout ce que j'ai toujours voulu comprendre est là.

Merci, 10/10

Inekman.

Commentaire de Kaley le 26/01/2005 11:25:19

Excellent! super! genial! honte a celui qui a mal noté
continuezzzzzzzzzzzzzzzzzzzzzzzz ainsi
moi aussi je voulais savoir faire cela
la seule critique: vous avez su le faire avant moi

Commentaire de japee le 02/05/2005 01:03:10 administrateur CS

Je suis en train de "revisiter" les sources que j'ai postées.

Merci, r_g, Inekman, Kaley :-)

Vos appréciations sont des encouragements, c'est clair ;-)

(Ben oui, des fois, on a le doute...)

Sûr, c'est ensemble qu'on avance... tout seul, on n'est rien.

Commentaire de Dreuteu le 20/05/2005 13:19:23

Merci a toi! la source est bien commentée, ce qui se fait rare, et m'a largement dépanné!

Commentaire de mcapp le 08/06/2006 23:45:08

Bonjour Japee,
je me permets de t'écrire ici car je devine en toi la personne avide de relever de nouveux défis ! J'apprécie, très sincèrement, bon nombre de tes sources !
Je voudrais savoir s'il est envisageable d'obtenir une caption sur un bouton (comme le TSimpleBtn du composant MyButtons) avec deux styles Font.Style :
Je voudrais obtenir un bouton avec un titre en gras suivi d'un texte non gras.

Je sais faire, par exemple, SimpleBtn.Caption := Memo1.Caption + Memo2.Caption.
Mais comment attribuer un font.style différent à chacun des 2 Memo.Captions dans SimpleBtn.Caption ?
Ma question te semble-t-elle intéressante ?
Merci !

Commentaire de japee le 09/06/2006 01:45:56 administrateur CS

Salut mcapp,
Si je comprends bien, tu voudrais avoir deux Font.Style différents dans le même bouton...
Il va donc te falloir créer ton propre composant, à moins qu'il n'existe déjà (voir http://www.torry.net).
D'après ce que j'ai lu sur ta fiche, tu vas largement avoir le temps de t'y consacrer, veinard ;-)

Commentaire de mecsympa le 18/07/2006 20:21:43

Je cherchai ce code depuis un moment. Mais, je veut créer les composants à l'exécution du programme. existe-t-il un moyen de les placer ou on veut (par exemple).

Commentaire de kwi le 09/02/2009 10:17:38

bonjour
c ce qui me fallait comme code sauf que les boutons sont tranqformer en maskedit, mais le probleme c que je ne peux pas recuperer la valeur de saisie de ces maskedit (onclick)
help me
merci

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

Creation dynamique de boutons [ par gibet ] 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 Création dynamique de composant [ par Amadeus ] Comment créer dynamique des contrôle TImage ?Je voudrais créer sur une Form autant de TImage que d'image se trouvant dans un répertoire donné. Comment Création dynamique d'objet - Gestion des evenements [ par fram ] Bonjour,Quelqu'un peut il me dire comment associer une procédure à un evenement d'un objet créé dynamiquement?Merci Création dynamique de fiche [ par seeev ] Salut, Dans mon appli, je crée une fiche type TForm1, lorsqu'elle est appelée au démarrage ou plus tard par application.create(TForm1, Form1), pas de Création dynamique de StringGrid et Variable [ par ryadus ] Bonjour;j'ai crée dynamiquement des StringGrid;j'ai un bouton, un Edit, j'entre un nombre 'n' dans l'edit, je click sur le bouton, et n stringgrid app création dynamique de composants sur une autre fiche [ par Pegase20 ] bonjour,Je programme sous Delphi 5.0voila mon probleme : j'ai deux formes différentes, une contenant un tabbebnotebook et une ayant un bouton (plus d' Création dynamique d'un tableau [ par aaleex ] J'aimerais savoir comment créer un tableau dynamiquement sous Delphi?? Création dynamique de WebBrowser ?? [ par cedricepsi ] Je suis en train de développer un soft tel que CrazyBrowser, mais j'ai un soucis, je n'arrive pas à créer dynamiquement des TwebBrowser. Si quelqu'un TPageControl création de page dynamique ? [ par g0belin ] Voila j'aimerai crée dynamiquement des pages dans mon page controle mais j'ai pas compris se qu'il fallais crée si c'est un objets TPage ?Merci d'avan Création dynamique de Lien dans une WebForm [ par lbensch ] Salut,Je n'arrives pas a créer des Controls en dynamique dans une WebForm sous Delphi 2005 .Net :Ma procédure est la suivante :var  MyH


Nos sponsors


Sondage...

Comparez les prix


HTC Magic

Entre 429€ et 429€

CalendriCode

Mars 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,045 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales