bonjour,
je me fais mes propres classes fenetre, bouton, etc...
Dans le constructeur de ma classe fenetre, j'ai donc :
hwnd = CreateWindow( ...
Or je dois lui donner une callback via :
WNDCLASS wc;
wc.lpfnWndProc = callbackproc;
Si la callback est située dans mon main et que je passe son adresse par le constructeur de fenetre, ça marche, mais ce n'est pas du tout ce que je veux.
Je veux avoir ma fonction callback dans ma classe fenetre et la passer comme ça :
wc.lpfnWndProc = &fenetre::callbackproc;
Et là ça coince à la compilation...
J'ai cette erreur :
J'ai essayé de caster wc.lpfnWndProc = (WNDPROC) &fenetre::callbackproc; mais rien à faire...Erreur 1 error C2440: '='*: impossible de convertir de 'LRESULT (__stdcall fenetre::* )(HWND,UINT,WPARAM,LPARAM)' en 'WNDPROC'
J'ai afficher la valeur de l'addresse du main et celle de ma classe, elle sont différentes mais très proches.
J'ai affiché un sizeof des deux et elles font toutes les deux 4 octets. Alors pourquoi le cast est impossible ?
aidez moi svp
Partager