Ajouter dynamiquement un control dans un form - VB/VBA/VBS - Programmation
Marsh Posté le 18-07-2003 à 16:10:56
Bah, plus la peine de chercher, j'ai trouvé.
Pour ceux que ça interesse, voila un exemple de code :
CreateControl, CreateReportControl Methods Example
The following example first creates a new form based on an Orders table. It then uses the CreateControl method to create a text box control and an attached label control on the form.
Code :
|
Marsh Posté le 19-07-2003 à 12:41:40
tu peux faire plus simple en donnant à un contrôle un index (0 par exemple) au moment de la création ;
Puis dans ton code, tu met
Code :
|
Tu obtient comme ça un contrôle similaire à ton premier
Marsh Posté le 19-07-2003 à 12:52:21
latruffe a écrit :
|
sisi ça fonctionne parfaitement bien, c'est juste que le code est mal foutu.
Exemple de création d'une combobox:
Code :
|
Ce que tu dois retenir:
Ce code ne marche que dans un conteneur de contrôles (Form, UserControl).
* la clause WithEvents permet de capter les évènements émis par ton contrôle, tout comme la form, etc...
* Le contrôle ne peut être créé que par la méthode Add de la collection Controls, qui est une propriété de l'objet conteneur, donc le code ne peut fonctionner que dans une Form ou un UserControl. Important: le premier paramètre à Add est toujours le type du contrôle précédé de la librairie à laquelle il appartient (donc VB.ComboBox) et le second paramètre est un identifiant unique dans la collection (tu ne peux utiliser 2x le même).
* le Move, tu en fais ce que tu veux, ton contrôle n'est pas positionné par défaut dans la fenêtre.
* de même, un contrôle est toujours invisible quand tu le crées, il convient donc de le rendre visible.
Pour le retirer lors de la destruction du conteneur:
Code :
|
Marsh Posté le 18-07-2003 à 15:56:33
Salut à tous,
je voudrais pouvoir créer de controls dynamiquement dans un form mais je ne connais pas à l'avance le nombre de controls à creer.
Il s'agit de text box. Quelle est la procédure pour créer des control depuis le code vba ?
J'ai d'abord penser à qq chose comme
mais visiblement ça ne fonctionne pas.
Si qq'un a une suggestion., elle est la bienvenue.
---------------
« Lorsque le bûcheron pénétra dans la forêt avec sa hache, les arbres se dirent : ne nous inquiétons pas, le manche est des nôtres. » | Gérez votre collection de BD en ligne !