Mon projet VB contient 30 contrôles utilisateurs différents dont :
- Actualites.ctl
- Applications.ctl
- Formations.ctl
Au chargement de la feuille principale du projet, VB va rechercher
dans un fichier INI le nom du controle à afficher. Je me retrouve
donc, par exemple, avec une variable : CtrlToLoad = "Applications".
Mais à partir de là, comment expliquer à VB qu'il doit charger le
contrôle Application ?
J'ai bien essayé quelque chose du type :
Dim Ctrl as New CtrlToLoad
Set Ctrl = CtrlToLoad
Mais, fort logiquement, cela ne fonctionne pas du tout.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
François Picalausa
Hello!
Il serait possible de précharger tous les contrôles sur la form. En même temps que de les ajouter sur la feuille, tu pourrais les ajouter dans une collection qui les référenceraient?
Une autre possibilité serait de stoquer tes contrôles dans un projet contrôle Activex (.ocx) et d'utiliser la méthode décrite dans http://support.microsoft.com/default.aspx?scid=kb;en-us;190670
Celà donnerait: Licenses.Add "MyCtlsLib.Applications" si le nom du projet est MyCtlsLib et le nom du usercontrol est Applications
-- François Picalausa (MVP VB) http://faq.vb.free.fr --- http://msdn.microsoft.com http://apisvb.europe.webmatrixhosting.net
"Courgette" a écrit dans le message de news:
Bonjour,
Mon projet VB contient 30 contrôles utilisateurs différents dont : - Actualites.ctl - Applications.ctl - Formations.ctl
Au chargement de la feuille principale du projet, VB va rechercher dans un fichier INI le nom du controle à afficher. Je me retrouve donc, par exemple, avec une variable : CtrlToLoad = "Applications". Mais à partir de là, comment expliquer à VB qu'il doit charger le contrôle Application ?
J'ai bien essayé quelque chose du type :
Dim Ctrl as New CtrlToLoad Set Ctrl = CtrlToLoad
Mais, fort logiquement, cela ne fonctionne pas du tout.
Hello!
Il serait possible de précharger tous les contrôles sur la form.
En même temps que de les ajouter sur la feuille, tu pourrais les ajouter
dans une collection qui les référenceraient?
Une autre possibilité serait de stoquer tes contrôles dans un projet
contrôle Activex (.ocx) et d'utiliser la méthode décrite dans
http://support.microsoft.com/default.aspx?scid=kb;en-us;190670
Celà donnerait:
Licenses.Add "MyCtlsLib.Applications"
si le nom du projet est MyCtlsLib et le nom du usercontrol est Applications
--
François Picalausa (MVP VB)
http://faq.vb.free.fr --- http://msdn.microsoft.com
http://apisvb.europe.webmatrixhosting.net
"Courgette" <mathos69@hotmail.com> a écrit dans le message de
news:d3d6ec06.0404200557.6cc1d34@posting.google.com
Bonjour,
Mon projet VB contient 30 contrôles utilisateurs différents dont :
- Actualites.ctl
- Applications.ctl
- Formations.ctl
Au chargement de la feuille principale du projet, VB va rechercher
dans un fichier INI le nom du controle à afficher. Je me retrouve
donc, par exemple, avec une variable : CtrlToLoad = "Applications".
Mais à partir de là, comment expliquer à VB qu'il doit charger le
contrôle Application ?
J'ai bien essayé quelque chose du type :
Dim Ctrl as New CtrlToLoad
Set Ctrl = CtrlToLoad
Mais, fort logiquement, cela ne fonctionne pas du tout.
Il serait possible de précharger tous les contrôles sur la form. En même temps que de les ajouter sur la feuille, tu pourrais les ajouter dans une collection qui les référenceraient?
Une autre possibilité serait de stoquer tes contrôles dans un projet contrôle Activex (.ocx) et d'utiliser la méthode décrite dans http://support.microsoft.com/default.aspx?scid=kb;en-us;190670
Celà donnerait: Licenses.Add "MyCtlsLib.Applications" si le nom du projet est MyCtlsLib et le nom du usercontrol est Applications
-- François Picalausa (MVP VB) http://faq.vb.free.fr --- http://msdn.microsoft.com http://apisvb.europe.webmatrixhosting.net
"Courgette" a écrit dans le message de news:
Bonjour,
Mon projet VB contient 30 contrôles utilisateurs différents dont : - Actualites.ctl - Applications.ctl - Formations.ctl
Au chargement de la feuille principale du projet, VB va rechercher dans un fichier INI le nom du controle à afficher. Je me retrouve donc, par exemple, avec une variable : CtrlToLoad = "Applications". Mais à partir de là, comment expliquer à VB qu'il doit charger le contrôle Application ?
J'ai bien essayé quelque chose du type :
Dim Ctrl as New CtrlToLoad Set Ctrl = CtrlToLoad
Mais, fort logiquement, cela ne fonctionne pas du tout.
mathos69
"François Picalausa" wrote in message news:...
Hello!
Il serait possible de précharger tous les contrôles sur la form. En même temps que de les ajouter sur la feuille, tu pourrais les ajouter dans une collection qui les référenceraient?
C'est plus ou moins ce que je fais aujourd'hui. Mais comme vous devez vous en douter, pré charger tous les contrôles alourdi considérablement le programme. La solution que je recherche apporterait une plus grande modularité et une plus grande légèreté.
Une autre possibilité serait de stoquer tes contrôles dans un projet contrôle Activex (.ocx) et d'utiliser la méthode décrite dans http://support.microsoft.com/default.aspx?scid=kb;en-us;190670
Celà donnerait: Licenses.Add "MyCtlsLib.Applications" si le nom du projet est MyCtlsLib et le nom du usercontrol est Applications
Parfait, c'est exactement ce que je cherche sauf que le cahier des charges m'interdit l'utilisation d'ActiveX. Je n'ai pas bien compris pourquoi d'ailleurs... Le fait ai que ce qu'il me faudrait ressemble plus à
Licences.Add "MonAppli.Applications"
Est-ce vraiment impossible ?
Merci pour votre précédente réponse.
"François Picalausa" <fpicalausa@chez.com> wrote in message news:<ugrDo7uJEHA.2244@tk2msftngp13.phx.gbl>...
Hello!
Il serait possible de précharger tous les contrôles sur la form.
En même temps que de les ajouter sur la feuille, tu pourrais les ajouter
dans une collection qui les référenceraient?
C'est plus ou moins ce que je fais aujourd'hui. Mais comme vous devez
vous en douter, pré charger tous les contrôles alourdi
considérablement le programme. La solution que je recherche
apporterait une plus grande modularité et une plus grande légèreté.
Une autre possibilité serait de stoquer tes contrôles dans un projet
contrôle Activex (.ocx) et d'utiliser la méthode décrite dans
http://support.microsoft.com/default.aspx?scid=kb;en-us;190670
Celà donnerait:
Licenses.Add "MyCtlsLib.Applications"
si le nom du projet est MyCtlsLib et le nom du usercontrol est Applications
Parfait, c'est exactement ce que je cherche sauf que le cahier des
charges m'interdit l'utilisation d'ActiveX. Je n'ai pas bien compris
pourquoi d'ailleurs... Le fait ai que ce qu'il me faudrait ressemble
plus à
Il serait possible de précharger tous les contrôles sur la form. En même temps que de les ajouter sur la feuille, tu pourrais les ajouter dans une collection qui les référenceraient?
C'est plus ou moins ce que je fais aujourd'hui. Mais comme vous devez vous en douter, pré charger tous les contrôles alourdi considérablement le programme. La solution que je recherche apporterait une plus grande modularité et une plus grande légèreté.
Une autre possibilité serait de stoquer tes contrôles dans un projet contrôle Activex (.ocx) et d'utiliser la méthode décrite dans http://support.microsoft.com/default.aspx?scid=kb;en-us;190670
Celà donnerait: Licenses.Add "MyCtlsLib.Applications" si le nom du projet est MyCtlsLib et le nom du usercontrol est Applications
Parfait, c'est exactement ce que je cherche sauf que le cahier des charges m'interdit l'utilisation d'ActiveX. Je n'ai pas bien compris pourquoi d'ailleurs... Le fait ai que ce qu'il me faudrait ressemble plus à