DefWindowProc

Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 - 22 sept. 2006 à 11:27
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 - 25 sept. 2006 à 01:13
Bonjour....

Où pointe DefWindowProc ? A-t'on la possibilité de modifier cette addresse, pour une fenêtre précise ?

pour test, dans ma proc de gestion des messages (VB) j'ai :

            Case MESSAGETEMOIN
                Stop
               
            Case WM_NCPAINT
                // GetWindowLong(hwnd, GWL_WNDPROC) => 12600164
                // GetClassLong(hwnd, GCL_WNDPROC ) =>      12600164
                // AddressOf ModMain.WindowProc_Form  =>     12600164
                DefWindowProc hwnd, MESSAGETEMOIN, wParam, lParam

Comme vous le voyez, toutes les conditions semblent réunies  (GCL_WNDPROC) pour qu'à priori
Je m'aiguille moi même ce 'MESSAGETEMOIN'...

en fait il n'en est rien....

Renfield
Admin CodeS-SourceS- MVP Visual Basic

4 réponses

cs_Joky Messages postés 1787 Date d'inscription lundi 22 novembre 2004 Statut Membre Dernière intervention 31 janvier 2009 2
22 sept. 2006 à 11:39
DefWindowProc c'est la procédure de traitement de message par défaut d'une fenêtre quelconque
Tous les messages qui n'auront pas été traitées dans ta procédure, devront passer par DefWindowProc ( sauf en cas de Dialog... )

Sinon j'ai pas trop bien compris ce que tu désires faire, je pense que tu souhaites changer la procédure de message de certaine fenêtre
Regarde côté subclassing

ULARGE_INTEGERJokyQi=QI("Joky"
0
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
22 sept. 2006 à 11:56
En fait, je fais deja du SubClassing, sur mes fenetres, pas de soucis...
je cherche a personnaliser WM_NCPAINT

bien que cela fonctionne, Windows s'evertue en certaines occasion a me redessiner la barre par default,
et il ne passe pas par WM_NCPAINT...

je cherchais un moyen plus propre que de forcer mon refresh après les evenements pour lesquels j'aurais détécté un Refresh de la part de windows...

Renfield
Admin CodeS-SourceS- MVP Visual Basic
0
vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 14
22 sept. 2006 à 23:25
Si tu veux éviter le comportement par défaut, il ne faut justement pas appeler DefWindowProc

_____________________________________
Un éditeur de ressources gratuit pour Windows
0
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
25 sept. 2006 à 01:13
vi, bien sur, mais JE ne l'appelle pas, je soupconne Windows

Renfield
Admin CodeS-SourceS- MVP Visual Basic
0
Rejoignez-nous