OVH Cloud OVH Cloud

Sous-classer un menu contextuel

2 réponses
Avatar
news.free.fr
Bonjour,

Dans une petite appli en C sous W2K, j'utilise un menu contextuel créé à
l'aide d'un fichier ressource, et je voudrais intercepter les messages
qu'il reçoit. Le but est de personnaliser son affichage sur WM_PAINT.
J'étais parti pour le sous-classer avec SetWindowLong, mais si j'ai bien
le HMENU (retourné par LoadMenu), je n'arrive pas à obtenir le HWND de
sa fenêtre propre. Il doit bien traîner quelque part...
Quelqu'un a t-il une idée ?

Merci !

2 réponses

Avatar
Christian ASTOR
news.free.fr wrote:

Dans une petite appli en C sous W2K, j'utilise un menu contextuel créé à
l'aide d'un fichier ressource, et je voudrais intercepter les messages
qu'il reçoit. Le but est de personnaliser son affichage sur WM_PAINT.
J'étais parti pour le sous-classer avec SetWindowLong, mais si j'ai bien
le HMENU (retourné par LoadMenu), je n'arrive pas à obtenir le HWND de
sa fenêtre propre. Il doit bien traîner quelque part...



On peut le faire ds WM_INITMENUPOPUP avec FindWindow() & "#32768", mais
ça ne se fait généralement pas et on utilise plutôt MFT_OWNERDRAW
Avatar
lgloub
Christian ASTOR wrote:
On peut le faire ds WM_INITMENUPOPUP avec FindWindow() & "#32768", mais
ça ne se fait généralement pas et on utilise plutôt MFT_OWNERDRAW



Ok, ça fonctionne, merci.
Pas besoin de sous-classer du coup...
J'ai d'ailleurs essayé, maintenant que je peux, pour le fun, et ça
marche pas mal...