Je souhaite passer en parametre un groupe de controles (les sous-menus d'un menu, en l'occurence).
Est ce possible?
Quelle est la syntaxe (appelant / routine appelee)
J'ai essaye un peu tout et n'importe quoi, et je me fais jeter a la compile ou a l'exec...
Merci
__________________________________________
(Je cherche a mettre dans un module .bas a part ce qu'il faut pour charger un sous-menu de maniere dynamique)
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
Olivier Besson
Depuis le Form source, dans le Load par exemple Call ChargeMenus(Me)
Dans ton .bas Public Sub ChargeMenus(Byref f as Form) Load f.mnuTest(1) ' pour charge le mnuTest d'index 1
End Sub --
Olivier Besson Pour m'ecrire, remplacer le <xx >de mon adresse par <com>. (Je ne lis pas mes mails frequement) To write me, replace <xx> part of my address by <com> (i don't read my mails very frequently).
"xx" a écrit dans le message de news:
Bonjour
Je souhaite passer en parametre un groupe de controles (les sous-menus
d'un menu, en l'occurence).
Est ce possible? Quelle est la syntaxe (appelant / routine appelee)
J'ai essaye un peu tout et n'importe quoi, et je me fais jeter a la
compile ou a l'exec...
Merci
__________________________________________ (Je cherche a mettre dans un module .bas a part ce qu'il faut pour charger
un sous-menu de maniere dynamique)
Depuis le Form source, dans le Load par exemple
Call ChargeMenus(Me)
Dans ton .bas
Public Sub ChargeMenus(Byref f as Form)
Load f.mnuTest(1) ' pour charge le mnuTest d'index 1
End Sub
--
Olivier Besson
Pour m'ecrire, remplacer le <xx >de mon adresse par <com>.
(Je ne lis pas mes mails frequement)
To write me, replace <xx> part of my address by <com> (i don't read my mails
very frequently).
"xx" <xx@nospam.net> a écrit dans le message de news:
Orz4zyKnDHA.1948@TK2MSFTNGP12.phx.gbl...
Bonjour
Je souhaite passer en parametre un groupe de controles (les sous-menus
d'un menu, en l'occurence).
Est ce possible?
Quelle est la syntaxe (appelant / routine appelee)
J'ai essaye un peu tout et n'importe quoi, et je me fais jeter a la
compile ou a l'exec...
Merci
__________________________________________
(Je cherche a mettre dans un module .bas a part ce qu'il faut pour charger
Depuis le Form source, dans le Load par exemple Call ChargeMenus(Me)
Dans ton .bas Public Sub ChargeMenus(Byref f as Form) Load f.mnuTest(1) ' pour charge le mnuTest d'index 1
End Sub --
Olivier Besson Pour m'ecrire, remplacer le <xx >de mon adresse par <com>. (Je ne lis pas mes mails frequement) To write me, replace <xx> part of my address by <com> (i don't read my mails very frequently).
"xx" a écrit dans le message de news:
Bonjour
Je souhaite passer en parametre un groupe de controles (les sous-menus
d'un menu, en l'occurence).
Est ce possible? Quelle est la syntaxe (appelant / routine appelee)
J'ai essaye un peu tout et n'importe quoi, et je me fais jeter a la
compile ou a l'exec...
Merci
__________________________________________ (Je cherche a mettre dans un module .bas a part ce qu'il faut pour charger
un sous-menu de maniere dynamique)
xx
"Olivier Besson" a écrit dans le message de news:
Depuis le Form source, dans le Load par exemple Call ChargeMenus(Me)
Dans ton .bas Public Sub ChargeMenus(Byref f as Form) Load f.mnuTest(1) ' pour charge le mnuTest d'index 1
J'aimerais precisement passer "mnuTest" en parametre. Meme si, avec mes conventions d'ecriture, il s'appellera toujours "mnusPlugins"
La declaration ci-dessous ne fonctionne pas: Public Sub LoaMnuPlugins(myForm As Form, myMnuPlugins() As Menu, myMnuPluginsPos As Integer, myPluginsPath As String)
En tous cas je ne trouve pas l'appel qui va avec...
"xx" a écrit dans le message de news:
> Bonjour > > Je souhaite passer en parametre un groupe de controles (les sous-menus d'un menu, en l'occurence). > > Est ce possible? > Quelle est la syntaxe (appelant / routine appelee) > > J'ai essaye un peu tout et n'importe quoi, et je me fais jeter a la compile ou a l'exec... > > Merci > > > __________________________________________ > (Je cherche a mettre dans un module .bas a part ce qu'il faut pour charger un sous-menu de maniere dynamique) > >
"Olivier Besson" <obesson@hotmail.xx> a écrit dans le message de news:OWriBfLnDHA.1072@TK2MSFTNGP09.phx.gbl...
Depuis le Form source, dans le Load par exemple
Call ChargeMenus(Me)
Dans ton .bas
Public Sub ChargeMenus(Byref f as Form)
Load f.mnuTest(1) ' pour charge le mnuTest d'index 1
J'aimerais precisement passer "mnuTest" en parametre.
Meme si,
avec mes conventions d'ecriture, il s'appellera toujours "mnusPlugins"
La declaration ci-dessous ne fonctionne pas:
Public Sub LoaMnuPlugins(myForm As Form, myMnuPlugins() As Menu, myMnuPluginsPos As Integer, myPluginsPath As String)
En tous cas je ne trouve pas l'appel qui va avec...
"xx" <xx@nospam.net> a écrit dans le message de news:
Orz4zyKnDHA.1948@TK2MSFTNGP12.phx.gbl...
> Bonjour
>
> Je souhaite passer en parametre un groupe de controles (les sous-menus
d'un menu, en l'occurence).
>
> Est ce possible?
> Quelle est la syntaxe (appelant / routine appelee)
>
> J'ai essaye un peu tout et n'importe quoi, et je me fais jeter a la
compile ou a l'exec...
>
> Merci
>
>
> __________________________________________
> (Je cherche a mettre dans un module .bas a part ce qu'il faut pour charger
un sous-menu de maniere dynamique)
>
>
Depuis le Form source, dans le Load par exemple Call ChargeMenus(Me)
Dans ton .bas Public Sub ChargeMenus(Byref f as Form) Load f.mnuTest(1) ' pour charge le mnuTest d'index 1
J'aimerais precisement passer "mnuTest" en parametre. Meme si, avec mes conventions d'ecriture, il s'appellera toujours "mnusPlugins"
La declaration ci-dessous ne fonctionne pas: Public Sub LoaMnuPlugins(myForm As Form, myMnuPlugins() As Menu, myMnuPluginsPos As Integer, myPluginsPath As String)
En tous cas je ne trouve pas l'appel qui va avec...
"xx" a écrit dans le message de news:
> Bonjour > > Je souhaite passer en parametre un groupe de controles (les sous-menus d'un menu, en l'occurence). > > Est ce possible? > Quelle est la syntaxe (appelant / routine appelee) > > J'ai essaye un peu tout et n'importe quoi, et je me fais jeter a la compile ou a l'exec... > > Merci > > > __________________________________________ > (Je cherche a mettre dans un module .bas a part ce qu'il faut pour charger un sous-menu de maniere dynamique) > >
xx
"xx" a écrit dans le message de news:
"Olivier Besson" a écrit dans le message de news: > Depuis le Form source, dans le Load par exemple > Call ChargeMenus(Me) > > Dans ton .bas > Public Sub ChargeMenus(Byref f as Form) > Load f.mnuTest(1) ' pour charge le mnuTest d'index 1
J'aimerais precisement passer "mnuTest" en parametre. Meme si, avec mes conventions d'ecriture, il s'appellera toujours "mnusPlugins"
La declaration ci-dessous ne fonctionne pas: Public Sub LoaMnuPlugins(myForm As Form, myMnuPlugins() As Menu, myMnuPluginsPos As Integer, myPluginsPath As String)
En tous cas je ne trouve pas l'appel qui va avec...
OK, je suis une mule, je cherchais un truc complique alors que c'etait simple: 'As Object' GRRRR
L'appel pour charger le menu dynamique s'ecrit e.g.: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ LoaMnuPlugins Me, mnusPlugins, 3, App.Path & "Plugins" mnusPlugins(0).Visible = False ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Mon .bas s'ecrit: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Option Explicit Option Compare Text '############################################################################################ Public Sub LoaMnuPlugins(myForm As Form, myMnuPlugins As Object, myMnuPluginsPos As Integer, myPluginsPath As String) Dim r As Long Dim lpFileName As String Dim hFindFile As Long Dim lpFindFileData As WIN32_FIND_DATA Dim CCC As Integer Dim sWWW As String '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ lpFileName = myPluginsPath & "*.*" hFindFile = FindFirstFile(lpFileName, lpFindFileData) '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Looping: sWWW = RTrimNull(lpFindFileData.cFileName) If (sWWW <> "." And sWWW <> ".." And sWWW <> "") Then CCC = myMnuPlugins.Count Load myMnuPlugins(CCC) myMnuPlugins(CCC).Caption = sWWW DecorateMenuByPath myForm, Array(myMnuPluginsPos, CCC), myPluginsPath & "" & sWWW End If r = FindNextFile(hFindFile, lpFindFileData) If (r <> 0) Then GoTo Looping '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ End Sub '############################################################################################ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
"xx" <xx@nospam.net> a écrit dans le message de news:eZdVKqLnDHA.2536@tk2msftngp13.phx.gbl...
"Olivier Besson" <obesson@hotmail.xx> a écrit dans le message de news:OWriBfLnDHA.1072@TK2MSFTNGP09.phx.gbl...
> Depuis le Form source, dans le Load par exemple
> Call ChargeMenus(Me)
>
> Dans ton .bas
> Public Sub ChargeMenus(Byref f as Form)
> Load f.mnuTest(1) ' pour charge le mnuTest d'index 1
J'aimerais precisement passer "mnuTest" en parametre.
Meme si,
avec mes conventions d'ecriture, il s'appellera toujours "mnusPlugins"
La declaration ci-dessous ne fonctionne pas:
Public Sub LoaMnuPlugins(myForm As Form, myMnuPlugins() As Menu, myMnuPluginsPos As Integer, myPluginsPath As String)
En tous cas je ne trouve pas l'appel qui va avec...
OK, je suis une mule, je cherchais un truc complique alors que c'etait simple: 'As Object' GRRRR
L'appel pour charger le menu dynamique s'ecrit e.g.:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
LoaMnuPlugins Me, mnusPlugins, 3, App.Path & "Plugins"
mnusPlugins(0).Visible = False
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Mon .bas s'ecrit:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Option Explicit
Option Compare Text
'############################################################################################
Public Sub LoaMnuPlugins(myForm As Form, myMnuPlugins As Object, myMnuPluginsPos As Integer, myPluginsPath As String)
Dim r As Long
Dim lpFileName As String
Dim hFindFile As Long
Dim lpFindFileData As WIN32_FIND_DATA
Dim CCC As Integer
Dim sWWW As String
'~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
lpFileName = myPluginsPath & "*.*"
hFindFile = FindFirstFile(lpFileName, lpFindFileData)
'~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Looping:
sWWW = RTrimNull(lpFindFileData.cFileName)
If (sWWW <> "." And sWWW <> ".." And sWWW <> "") Then
CCC = myMnuPlugins.Count
Load myMnuPlugins(CCC)
myMnuPlugins(CCC).Caption = sWWW
DecorateMenuByPath myForm, Array(myMnuPluginsPos, CCC), myPluginsPath & "" & sWWW
End If
r = FindNextFile(hFindFile, lpFindFileData)
If (r <> 0) Then GoTo Looping
'~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
End Sub
'############################################################################################
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
"Olivier Besson" a écrit dans le message de news: > Depuis le Form source, dans le Load par exemple > Call ChargeMenus(Me) > > Dans ton .bas > Public Sub ChargeMenus(Byref f as Form) > Load f.mnuTest(1) ' pour charge le mnuTest d'index 1
J'aimerais precisement passer "mnuTest" en parametre. Meme si, avec mes conventions d'ecriture, il s'appellera toujours "mnusPlugins"
La declaration ci-dessous ne fonctionne pas: Public Sub LoaMnuPlugins(myForm As Form, myMnuPlugins() As Menu, myMnuPluginsPos As Integer, myPluginsPath As String)
En tous cas je ne trouve pas l'appel qui va avec...
OK, je suis une mule, je cherchais un truc complique alors que c'etait simple: 'As Object' GRRRR
L'appel pour charger le menu dynamique s'ecrit e.g.: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ LoaMnuPlugins Me, mnusPlugins, 3, App.Path & "Plugins" mnusPlugins(0).Visible = False ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Mon .bas s'ecrit: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Option Explicit Option Compare Text '############################################################################################ Public Sub LoaMnuPlugins(myForm As Form, myMnuPlugins As Object, myMnuPluginsPos As Integer, myPluginsPath As String) Dim r As Long Dim lpFileName As String Dim hFindFile As Long Dim lpFindFileData As WIN32_FIND_DATA Dim CCC As Integer Dim sWWW As String '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ lpFileName = myPluginsPath & "*.*" hFindFile = FindFirstFile(lpFileName, lpFindFileData) '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Looping: sWWW = RTrimNull(lpFindFileData.cFileName) If (sWWW <> "." And sWWW <> ".." And sWWW <> "") Then CCC = myMnuPlugins.Count Load myMnuPlugins(CCC) myMnuPlugins(CCC).Caption = sWWW DecorateMenuByPath myForm, Array(myMnuPluginsPos, CCC), myPluginsPath & "" & sWWW End If r = FindNextFile(hFindFile, lpFindFileData) If (r <> 0) Then GoTo Looping '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ End Sub '############################################################################################ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~