DefWindowProc

Signaler
Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
-
Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
-
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
A voir également:

4 réponses

Messages postés
1787
Date d'inscription
lundi 22 novembre 2004
Statut
Membre
Dernière intervention
31 janvier 2009
2
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"
Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
69
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
Messages postés
6535
Date d'inscription
lundi 16 décembre 2002
Statut
Modérateur
Dernière intervention
22 août 2010
7
Si tu veux éviter le comportement par défaut, il ne faut justement pas appeler DefWindowProc

_____________________________________
Un éditeur de ressources gratuit pour Windows
Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
69
vi, bien sur, mais JE ne l'appelle pas, je soupconne Windows

Renfield
Admin CodeS-SourceS- MVP Visual Basic