cs_cricri95
Messages postés34Date d'inscriptionlundi 8 mars 2004StatutMembreDernière intervention 6 avril 2012
-
11 avril 2006 à 16:19
cs_cricri95
Messages postés34Date d'inscriptionlundi 8 mars 2004StatutMembreDernière intervention 6 avril 2012
-
13 avril 2006 à 08:39
Bonjour, Voila j'ai créé des menus dynamiquement à partir d'une base de données (en Visual Basic 6).
Je gère les clicks sur les menus deroulants avec setwindowlong mais le problème est en mode deboggage qui est pratiquement impossible si cette API "setwindowlong" est lancé.
(Point Arret VB fait planter tout !!!).
Y'a t il une autre solution ?? Merci d'avance ....
postes ici un bout de code sur ta creation dynamique (un petit bout, 2 ou 3 lignes, l'essentiel), ainsi que tes déclarations de variables servant de références à tes menus dynamiques (menus VB ou CommandBars d'Office?).
à+
rvblogn<SUP>
</SUP><SUP>Je veux ton bien... et je l'aurais... mais jamais avant la page 4
</SUP>
cs_cricri95
Messages postés34Date d'inscriptionlundi 8 mars 2004StatutMembreDernière intervention 6 avril 2012 13 avril 2006 à 08:39
Bonjour,
Alors quelques explications ....Dans mon MDIForm_Load, A partir d'une base de donnees j'insere mes menus principaux avec la commande "Rec InsertMenu(...)" et ensuite des menus popup (si je clique sur les menus principaux) grace a la commande "retval InsertMenuItem(...)".
Ensuite pour declencher les clicks sur ces menus nouvellement creés je lance apres la construction de tous les menus la commande suivante :
"trueWndProc = SetWindowLong(Me.hwnd, GWL_WNDPROC, AddressOf WindowProcMenu)"
Et WindowProcMenu est de la forme :
'*************************************************************
Public Function WindowProcMenu(ByVal hwnd As Long, ByVal uMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
On Error GoTo FinSub
If uMsg = WM_COMMAND Then
Select Case wParam
Gestion clic utilisateur
end select
end if
WindowProcMenu = CallWindowProc(trueWndProc, hwnd, uMsg, wParam, lParam)
'****************************************************************
Voila !!!!
Mais le probleme est que le deboggage est impossible (enfin le point d'arret fait planter toute l'appli!!!) et de plus dans certains cas l'acces au code est impossible sur un point d'arret.
Si vous avez une idée, merci de me la faire parvenir .....
Merci d'avance bonne journée