Gestion Dynamique du click sur Menu Dynamique

cs_cricri95 Messages postés 34 Date d'inscription lundi 8 mars 2004 Statut Membre Dernière intervention 6 avril 2012 - 13 avril 2006 à 08:41
cs_cricri95 Messages postés 34 Date d'inscription lundi 8 mars 2004 Statut Membre Dernière intervention 6 avril 2012 - 13 avril 2006 à 12:05
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 !!!).


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

2 réponses

cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
13 avril 2006 à 09:09
Va voir ma source http://www.vbfrance.com/codes/MENU-CREE-DYNAMIQUEMENT-SANS-PASSER-ASSISTANT-VB_27410.aspx

Elle permet de créer des menus popup dynamiquement sans à avoir à créer une fonction pour chaque événements. => pas besoin de setwindowlong

_
Avant de poster dans le forum,
prière d'aller lire ceci :
http://www.codes-sources.com/reglement.aspx
<s></s>
0
cs_cricri95 Messages postés 34 Date d'inscription lundi 8 mars 2004 Statut Membre Dernière intervention 6 avril 2012
13 avril 2006 à 12:05
Merci, mais cela ne marche pas si on a des menus rattaches a un menu principal en fait mon MDIFORM_Click, MDIFORM_MouseDown ou MDIFORM_MouseUp ne se déclenche pas.
La différence : mes menus sont deja construits au moment de l'ouverture de l'appli.

Si Quelqu'un a une idée ???
0
Rejoignez-nous