Message de rapport:
 

Re: Champ menu d'une fenêtre

Sujet: Re: Champ menu d'une fenêtre
par Anonyme sur 5/7/2006 9:35:18

>>pour transposer cela en WD ???
Je suppose que vous voulez dire comment traduire le code en français, car c'est déjà du WD.

Dans l'environnment WinDev faire :
- menu "Code"
- "Langue du code" ---> "Convertir en français..."

//Dans la partie Déclarations globales de la fenêtre principale écrire
gnPrevproc est entier

//Dans la partie Initialisation de la fenêtre principale écrire
// On subclasse la fenêtre principale pour pouvoir prendre la main sur WinDev.
gnPrevproc = SetWindowLong(gnhMain, GWL_WNDPROC, &WndProc)

//Dans la partie Fermeture de la fenêtre principale écrire
SI gnPrevproc ALORS
	SetWindowLong(gnhMain, GWL_WNDPROC, gnPrevproc)
	gnPrevproc = 0
FIN

//Dans la partie Procédures locales de la fenêtre principale créer la fonction callback
FONCTION WndProc(nhWnd est entier, nMsg est entier, nwParam est entier, nlParam est entier)
nRet est entier
SELON nMsg
	CAS WM_MENUCOMMAND
	// Ecrire votre code ici
	CAS etc.
FIN
SI gnPrevproc ALORS
	nRet = CallWindowProc(gnPrevproc, nhWnd, nMsg, nwParam, nlParam)
FIN
RENVOYER nRet

//-------------------------------------------
// Encapsulation de l'API "SetWindowLong"
FONCTION SetWindowLong(nHandle est entier, nIndex est entier, nNewValue est entier)
nRet est entier = API("USER32", "SetWindowLongA", nHandle, nIndex, nNewValue)		
RENVOYER nRet

//-------------------------------------------
// Encapsulation de l'API "CallWindowProc"
FONCTION CallWindowProc(nPrevProc est entier, nHandle est entier, nMsg est entier, nwParam est entier, nlParam est entier)
nRet est entier = API("USER32", "CallWindowProcA", nPrevProc, nHandle, nMsg, nwParam, nlParam)
RENVOYER nRet


A noter que le w-langage étant du p-code le subclassement d'une fenêtre WinDev est nettement moins rapide que l'utilisation de la fonction native "Evènement".
Donc je vous conseille de faire un essai avec "Evènement" avec le message WM_MENUCOMMAND.
Connexion
Menu
Chercher WDForge
Chercher Web
Partenaires
Visualiser tous les Partenaires...
WinDev, WebDev, WinDev Mobile et HyperFile sont des marques déposées par PCSoft. |  Voter |  Legal |  Contact |   XOOPS 2.0.13.2