Accueil > Forum > > > > Gérer les événements d'un controle dynamique
Gérer les événements d'un controle dynamique
samedi 26 mai 2007 à 12:53:06 |
Gérer les événements d'un controle dynamique

Noxid
|
Bonjour à tous !
Mon application VB6 crée des controles dynamiques sur ma feuille par la méthode suivante :
Dim newControl As VB.Control Set newControl = Me.Controls.Add("VB.CommandButton", "btnOK")
Ce code crée donc un CommandButton nommé "btnOK". Comment gérer les événements de btnOK qui est donc créé dynamiquement? J'entends par là détecter le click par exemple.
Merci de votre aide ! Bien cordialement, Joffrey
|
|
samedi 26 mai 2007 à 23:07:32 |
Re : Gérer les événements d'un controle dynamique

mimiZanzan
|
Très facile: il faut déclarer le contrôle au niveau module avec évènements:
Dim WithEvents newControl As VB.CommandButton
Private Sub Form_Load() Set newControl = Me.Controls.Add("VB.CommandButton", "btnOK") With newControl .Left = (Me.ScaleWidth - newControl.Width) / 2 .Top = Me.ScaleHeight - newControl.Height - 200 .Caption = "OK" .Visible = True End With End Sub
Private Sub newControl_Click() MsgBox "C'est le contrôle " & newControl.Name
mimizanzan
|
|
dimanche 27 mai 2007 à 12:53:35 |
Re : Gérer les événements d'un controle dynamique

Noxid
|
Merci pour ta réponse !
En fait, j'ai déjà essayé comme ça... Mais là mon problème est que je veux pouvoir créer n'importe quel contrôle dynamiquement. Le type VB.Control est donc bien adapté puisqu'il me permet de créer dynamiquement TextBox, CommandButton,...enfin tous les contrôles de VB6 !
En prenant ta méthode, je dois créer une module de classe pour chaque type de contrôle, c'est ça? Si vraiment il n'y a pas d'autre solution, je ferai ça. Mais j'aimerai bien pouvoir m'en sortir autrement. Je sais qu'avec VB.NET c'est faisable, mais je dois me le procurer et c'est pas pour tout de suite... :(
Y'a vraiment aucun autre moyen?
|
|
dimanche 27 mai 2007 à 16:12:22 |
Re : Gérer les événements d'un controle dynamique

mimiZanzan
|
Réponse acceptée !
D'abord, tu ne crées pas ici de module de classe: tu utilises simplement le module de ton userform (qui est en réalité aussi un module de classe...) Ensuite, il suffit seulement de déclarer chaque type de contrôle au niveau du module form, par ex: Dim WithEvents newTxtBox As VB.TextBox Dim With Events lb as VB.Label etc Par contre, tu n'auras qu'un seul exemplaire de chaque contrôle disponible. Sinon, il faut en effet passer par un module de classe, car on ne peut pas déclarer de tableau avec l'instruction "WithEvents". Le type VB.Control est trop vague pour créer un contrôle.Il faut seulement l'utiliser pour balayer l'ensemble des contrôles de la form, par ex Dim ctl as VB.Control For Each ctl in Me.Controls Msgbox ctl.Name Next
mimizanzan
|
|
lundi 28 mai 2007 à 23:24:31 |
Re : Gérer les événements d'un controle dynamique

Noxid
|
Désolé pour ma réponse tardive... Ok ben je vais faire avec alors ! Merci pour ces réponses très précises !
Par contre, avec la création dynamique par Index, c'est faisable de gérer les événements? Je pense que oui mais bon...
Encore merci !
|
|
mardi 29 mai 2007 à 00:59:48 |
Re : Gérer les événements d'un controle dynamique

pingouin84k
|
Ca se rapproche de ce que je cherche à faire. Tu fait comment pour les tableaux de contrôles?
Disons que j'ai un tableaux de boutons et pendant l'execution j'ai besoin d'en créer. J'ai essayé ça:
Dim WithEvents newControl() As VB.CommandButton
pour créer un tableau dynamique mais ca créer une erreur.
|
|
mardi 29 mai 2007 à 02:45:40 |
Re : Gérer les événements d'un controle dynamique

mimiZanzan
|
Réponse acceptée !
On ne peut pas déclarer de tableau avec l'instruction "WithEvents"!
Voir ma source GESTION USERFORM AVEC GROUPE DE BOUTONS DYNAMIQUES SOUS VBA pour gérer un tableau de boutons dynamiques. On peut aussi utiliser une collection à la place du tableau, comme dans ma source CRÉATION DE CONTRÔLES DYNAMIQUE.
mimizanzan
|
|
Cette discussion est classée dans : dynamique, controle, événements, gérer, btnok
Répondre à ce message
Sujets en rapport avec ce message
chargement dynamique d'activex [ par dualite2 ]
slt moi je cherche le moyen de creer pendant l'execution du programme de nouveau controle winsock en partant du principe qu'il y a déja un controle wi
Ajout dynamique de controles [ par florantanplan ]
Je n'arrive pas à retrouver la syntaxe pour ajouter, par le code, un controle à un groupe de controle... qqun aurait-il une meilleur mémoire que moi??
Ajout Controle Utilisateur Dynamique [ par maesius ]
Bonjour,Voila, jusqu'a present je faisait ceci :Set labelsupp = Me.Controls.Add("VB.label", vnom)Pour rajouter des composant de facon dynamique, ici u
Tableau Dynamique ou Collection [ par TouTenN ]
BonjourJ'aimerais avec votre avis...Je dois gérer de nombreuses lignes de valeurs que je dois manipuler.J'ai essayé avec les tableaux à plusieurs dime
création de control .NET et événements [ par MACHOMAN ]
Bonjour, j'ai crée un controle utilisateur sous visual studio.net. Ce controle est tout simplement un bouton mis en forme, cela me permets de ne pas r
chargement dynamique d'un controle activeX [ par Safireo ]
J'ai crée un contrôle activeX (usercontrol) qui se nomme Controle et je cherche à faire en sorte qu'en cliquant sur un bouton, un autre contrôle du mê
.net, chargement dynamique d'un controle [ par horko ]
Bonjour, Je cherche à charger dynamiquement un controle en VB.net J'ai créé un usercontrol que j'ai placé dans ma page aspx et je cherche a le recrée
Ajout dynamique de controle avec la souris ? [ par COlive ]
Voila mon petit soucis :En VB.NET :sur une feuille j'ai une image chargée dans un picture box, cela représente un plan de maison par exemple.Sur cette
création dynamique de boutons avec événements [ par bdpatrice ]
comment peut on faire pour créer (n) boutons dynamique avec événements dynamique aussi.
Livres en rapport
|
Derniers Blogs
ASYNC/AWAIT: COMPRENDRE COMMENT CA MARCHEASYNC/AWAIT: COMPRENDRE COMMENT CA MARCHE par fathi
Tout le monde est unanime pour dire que la programmation multi-thread et asynchrone est en train de devenir un sujet incontournable. Beaucoup de choses sont arrivées avec le framework 4 pour le code parallèle (TPL, PLinq,.) et bientôt, on va avoir l...
Cliquez pour lire la suite de l'article par fathi PAS D'INTELLITRACE SUR MON SITE WEB DANS IIS !PAS D'INTELLITRACE SUR MON SITE WEB DANS IIS ! par Etienne Margraff
J'ai récemment eu un problème pour obtenir l'intelliTrace sur un site web dans IIS. Il n'y avait pas de message d'erreur, rien dans le journal d'évènement Windows, et après 3 appels à une voyante, 2 visites chez un marabou, j'ai failli me résign...
Cliquez pour lire la suite de l'article par Etienne Margraff OFFICE 365 - SHAREPOINT ONLINE, QUELQUES LIMITATIONSOFFICE 365 - SHAREPOINT ONLINE, QUELQUES LIMITATIONS par junarnoalg
De nombreuses entreprises font le choix de SharePoint Online, service fourni au travers de l'offre de Microsoft Office 365. S'il est vrai que ce choix apporte un grand nombre d'avantages; rapidité de mise en œuvre, disponibilité, large couvertu...
Cliquez pour lire la suite de l'article par junarnoalg PRéSENTATION DES API REST DE WINDOWS AZURE : LISTER LES COMPTES DE STORAGEPRéSENTATION DES API REST DE WINDOWS AZURE : LISTER LES COMPTES DE STORAGE par richardc
http://www.c2idotnet.com/articles/presentation-des-api-rest-de-windows-azure-lister-les-comptes-de-storage
Désolé pour "toto", mais c2i existait avant blogs.developpeur.org et c'est mon site "officiel" ;-) ...
Cliquez pour lire la suite de l'article par richardc
Logiciels
DocTranslate (V3.1.0.0)DOCTRANSLATE (V3.1.0.0)DocTranslate est un traducteur de document Microsoft Word, PowerPoint et Excel. Il permet d'autom... Cliquez pour télécharger DocTranslate Tribler (2012)TRIBLER (2012)Tribler est un client pair à pair (P2P/Peer-to-Peer) open source avec la capacité de regarder des... Cliquez pour télécharger Tribler OneSwarm (2012)ONESWARM (2012)Le peer-to-peer qui protège votre vie privée, c'est OneSwarm.
Ce logiciel de peer-to-peer crypté... Cliquez pour télécharger OneSwarm PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System
|