JackosKing
Messages postés168Date d'inscriptionmardi 31 décembre 2002StatutMembreDernière intervention21 avril 2005
-
24 juin 2003 à 15:44
JackosKing
Messages postés168Date d'inscriptionmardi 31 décembre 2002StatutMembreDernière intervention21 avril 2005
-
25 juin 2003 à 00:52
Bon, voilà, j'ai fait un programme qui peux creer un infinité de fenêtres (en fonction de la ram bien entendue:)), le probleme c'esgt pour la gestion des messages...
j'ai qu'une seule fonction:
long WINAPI WndProc (HWND hwnd, UINT message, UINT wParam, LONG lParam)
et dedant je doit faire un compraison de HWDN..
genre: if (hWnd = hWnd4)...
le probleme etant que les comparaison deviennenet tres vite lourde (meme pas optimisable par un switch car le nombre n'est pas constant.
je voulais savoir si il etait possible de generer une fonction: long WINAPI WndProc (HWND hwnd, UINT message, UINT wParam, LONG lParam) pour chaque fenetre, sans avoir a fair soit meme la coparaison des hWnd
BruNews
Messages postés21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 août 2019 24 juin 2003 à 23:38
une fenetre doit avoir un pointeur sur fonction callback pour RegisterClass(), c'est la wndproc qu'on lui definit. Il est possible de le changer par:
oldproc = SetWindowLong(hwnd, GWL_WNDPROC, newproc);
ce qu'on appelle sous classement.
BruNews, ciao...
JackosKing
Messages postés168Date d'inscriptionmardi 31 décembre 2002StatutMembreDernière intervention21 avril 2005 25 juin 2003 à 00:24
donc si j'ai bien compris:):
Pour le moment toutes mes fenêtres sont gérée par le wndproc défini par la classe au début du programme..
Néanmoins a chaque fenêtre étant défini un hWnd, je peux definir une autre wndproc par la fonction cité précédemment?
Si c'est ça, alors c'est #top#
NB: à quoi sert d'enregistrer le oldproc?
JackosKing For EvEr
Vous n’avez pas trouvé la réponse que vous recherchez ?
BruNews
Messages postés21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 août 2019 25 juin 2003 à 00:31
et oui le sous classement est super top.
Mais enregistre bien la oldproc pour pouvoir l'appeler ou la restituer si besoin.
Pas besoin de variable supplementaire, tu peux coller ce pointeur dans le membre cbWndExtra par exemple, encore faut-il le demander au systeme.
BruNews, ciao...