begin process at 2010 02 10 08:57:39
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive Visual Basic & VB.NET

 > 

Archives Visual Basic

 > 

J'AI BESOIN D'AIDE !!!! :)

 > 

Créer des contrôles dynamiquement qui se comporte comme normaux


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Créer des contrôles dynamiquement qui se comporte comme normaux

lundi 5 décembre 2005 à 20:36:09 | Créer des contrôles dynamiquement qui se comporte comme normaux

supermotaboy

Salut a tous,

Je sais qu'il existe deja plusieurs questions et sources a ce sujet, mais soit je ne les ai pas bien compris, soit pas trouvée :( Donc je voudrais pouvoir créer des controles de façon dynamique, mais sans la methode index (car necessite que un controle soit deja present) et si possible avec withevents, pour pouvoir gérer les evenements de ce controle. Ce serait pour un systeme de plug in, ou, pour effectuer diverse actions, l'utilisateur pourrait avoir besoin d'un controle (un treeview par exemple). Il me faudrait donc aussi le moyen de le créer autre part que dans le module ou le code est écrit.
J'espere avoir eté clair, et merci d'avance pour vos reponses
++

LTourist
lundi 5 décembre 2005 à 20:50:55 | Re : Créer des contrôles dynamiquement qui se comporte comme normaux

Gobillot

création d'un bouton:




Dim WithEvents obj1  As CommandButton
  
Set obj1 = Controls.Add("VB.CommandButton", "button")
 
obj1.Visible = True
obj1.Top = 100
obj1.Left = 100
ect ...

Private Sub Obj1_Click()
    Beep
End Sub


Daniel
lundi 5 décembre 2005 à 21:10:10 | Re : Créer des contrôles dynamiquement qui se comporte comme normaux

supermotaboy

Merci de ta réponse. En effet j'avais vu cette solution, le probleme est qu'avec cette solution, je ne parviens pas créer des controles plus "complexes", enfin n etant pas inclus par default dans VB, tel que des ListView ou des TreeView... Comment faire? Et y'a t'il un moyen pour créer cette objet sur la Form1 par exemple alors que le code se situe dans le Module MonModule (encore par exmple :) )?

LTourist
lundi 5 décembre 2005 à 21:30:51 | Re : Créer des contrôles dynamiquement qui se comporte comme normaux

Gobillot

Réponse acceptée !
- le composant doit être coché pour avoir la bibliothéque
- dans projet.option faut décocher:
   Remove information about unused ActiveX contyrols

- déclaration WithEvents uniquement sur la Forme
Public WithEvents obj1 As mscomctllib.ListView

 Set obj1 = Controls.Add("mscomctllib.ListViewCtrl.2", "Liste")


- le Set peut être fait dans le module:
Public Sub Creation()
    Set Form1.obj1 = Form1.Controls.Add("mscomctllib.ListViewCtrl.2", "Liste")
    Form1.obj1.Visible = True
End Sub

Daniel
lundi 5 décembre 2005 à 22:03:54 | Re : Créer des contrôles dynamiquement qui se comporte comme normaux

supermotaboy

Merci beaucoup, ce qu'il me manquait en fait c'était le "Ctrl.2" a la fin de la chaine referençant quel objet créer. D'ailleurs si tu pouvait me dire comment tu l'as obtenu je suis preneur, parce que j'ai beau cherché, je ne la trouve dans aucun menu, ni dans l'explorateur d'objet. Merci beaucoup!

LTourist
lundi 5 décembre 2005 à 22:17:14 | Re : Créer des contrôles dynamiquement qui se comporte comme normaux

Gobillot

Réponse acceptée !
je l'ai obtenu par un message d'erreur qui apparait:
   Run-Time error '739'
   Cannot add control "mscomctllib.treeview" . . . .
   the ProgID for this control is "MSComctlLib.TreeCtrl.2"

Public WithEvents obj1 As MSComctlLib.TreeView

Set obj1 = Controls.Add("mscomctllib.treectrl.2", "Arbre")

en fait sans le ".2" ça passe aussi

Daniel
lundi 5 décembre 2005 à 22:26:13 | Re : Créer des contrôles dynamiquement qui se comporte comme normaux

nhervagault

Administrateur CodeS-SourceS
Réponse acceptée !
Salut

pour la creation des controles dynaques tel que des User control
tu peux utiliser la méthodes des index

moi, je les manipules comme cela.

sur la form
le user(0) est invisible
et apres j'appele la methode
   F1.ctl1(0).Top = 0
    While Not rsADO.EOF
        Load F1.ctl1(i)
        F1.ctl1(i).Top = F1.ctl1(i - 1).Top + F1.ctl1(i - 1).Height
        F1.ctl1(i).Style = "Supprimer"
        F1.ctl1(i).nom = rsADO!champ1 * -1
        F1.ctl1(i).property1 = rsADO![champ2] * -1
        F1.ctl1(i).Visible = True
        i = i + 1
        rsADO.MoveNext
    Wend

F1 est le nom de la form car tout la gestion des controles avait été dans ce projet
déporté dans des modules. car les une bonne partie des controles etait present sur une seule form (c'etait la demande) la mise en module et encore mieux en class permet de travailler a plusieurs sur une grosse forme ;-)

j'ai renommer les champs c'est pour cela que c'est moins parlant



mardi 6 décembre 2005 à 18:21:55 | Re : Créer des contrôles dynamiquement qui se comporte comme normaux

supermotaboy

Merci de vos reponses. Pour ta solution nhervagault, justement je souhaiterais eviter de l'utilisé, car celui m'oblige a créer un controle sur ma form a la base, et comme il s'agit d'un systeme de plugin, ça m'embete un peu car ça voudrais dire que je devrais prevoir tout les cas possible sur ma form, et ça prendrai de la place pour rien. Mais merci quand meme de l'astuce, c'est toujours bon a prendre, surtout si l'on doit créer un nombre important de meme controle avec les memes options ;)
Merci a vous deux :)
LTourist
mardi 6 décembre 2005 à 18:32:25 | Re : Créer des contrôles dynamiquement qui se comporte comme normaux

supermotaboy

J'accepte quand meme ta reponse pour aider les gens a trouver une solution qui leurs conviennent, apres tout ces demandes sur le forum ne servent pas qu'a celui qui pose la question ;)
++

LTourist


Cette discussion est classée dans : créer, controle, dynamiquement, contrôles, comporte


Répondre à ce message

Sujets en rapport avec ce message

Créer un contrôle image dynamiquement [ par Fred ] Salut,je voudrais faire un gestionnaire d'albums photos. Sachant qu'un album peut contenir un nombre d'images indéfini, il me faut créer (et afficher) Créer dynamiquement des menus [ par djiby ] quelqu'un sait-il comment ajouter des menus à partir du code VB.c'est urgent.merci. Comment créer son bouton de commande dynamiquement ? [ par FRIPLAY ] Bonjour à tous.Je suis en train de créer une application en VB, qui est une sorte de QCM pour les entreprises.J'ai besoin de créer dynamiquement les b Controle qui permet de créer un tableau ?????? [ par Stoomm ] Je cherche un controle qui permet de créer un tableau comme dans word ou excel.Si quelqu'un connait ...Merci d'avnce.A+.Stoomm. Créer un controle [ par poli181 ] Creation textbox dynamiquement avec groupe de controle [ par arnakor ] Salutvoilà ça peut paraitre incroyable mais je sais comment créer des textbox dynamiquement (dans le code) mais je n'arrive pas à faire la même chose comment créer dynamiquement des groupes de controls ? [ par xavier ] Qqun sait comment je peux faire pour créer dynamiquement des groupes de controls ?Exemple : créer un nombre choisi de frames avec un nombre choisi d'o Comment créer dynamiquement des controles dans une fenetre ? [ par xavier ] Qui sait comment créer des controles de types différents (labels, textbox et listes de choix) dans une fenetre ? créer dynamiquement des variables [ par guiguimac ] Bonsoir,je suis en train de de faire un outils pour parser un fichier xml.disons que ce fichier est décomposé en éléments, eux même décomposés en sous Création dynamique de contrôles dans un OCX [ par jm6fr ] Bonjour.Je cherche à créer un OCX dans lequel doivent se créer les labels et boites de texte correspondant aux champ d'une table connectée. La connexi


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
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 : 0,499 sec (4)

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