Bonjour à tous,
j'essaie actuellement de créer un contrôle de toutes pièces, c'est-à-dire comme on ferait pour créer une fenêtre classique : j'enregistre ma classe (RegisterClass) et je gère les messages dans une fonction WndProc; mais avec des propriétés particulières (comme n'importe quel contrôle de base de windows : bouton...). Je ne souhaite pas partir d'un contrôle déjà existant (même simple comme un static) et redéfinir ma propre WndProc.
Voici mon problème :
Pour faire simple : que dois-je gérer dans ma fonction WndProc ? Quels messages doivent obligatoirement être traités et que retourner pour les messages non gérés ? J'ai essayé DefWindowProc, mais ce n'est pas très concluant, je me retrouve avec une barre de titre et une bordure bleues. J'ai également essayé de retourner 0 : dans ce cas, ça fige la fenêtre parent. Dans tous les cas, mon contrôle ne se déplace pas avec la fenêtre.
Pour le moment je ne gère pas grand chose : WM_NCCREATE et WM_NCDESTROY, qui me permettent de gérer une structure de donnée propre au contrôle (WndExtra de WNDCLASSEX). J'ai remarqué que retourner 1 lors de l'envoie de WM_NCACTIVATE, empêchait de figer la fenêtre parent.
Voila, j'espère avoir été assez clair.
Merci d'avance,
XWindoo
Partager