Je le sous-classement d'une fenêtre native (le contrôle d'édition d'un combobox ...)En C#, j'ai un IntPtr à WIN32 WndProc. Quelle est la syntaxe pour l'appeler?
oldWndProc = SetWindowLong (HandleOfCbEditControl, GWL_WNDPROC, newWndProc);
Dans mon sous-classement wndproc, je vais avoir un code comme celui-ci, mais je n'arrive pas à comprendre la syntaxe pour appeler oldWndProc.
int MyWndProc(int Msg, int wParam, int lParam)
{
if (Msg.m == something I'm interested in...)
{
return something special
}
else
{
return result of call to oldWndProc <<<< What does this look like?***
}
}
EDIT: Le mot "subclassing" dans cette question fait référence au sens de l'API WIN32, pas C#. Sous-classer ici ne signifie pas remplacer le comportement de la classe de base .NET. Cela signifie que WIN32 appelle votre pointeur de fonction au lieu du rappel courant de Windows. Cela n'a rien à voir avec l'héritage en C#.
Avant d'appeler le proc par défaut, il veut appeler le proc utilisateur précédent pointé par oldWndProc. –
Merci pour le conseil que int, uint et IntPtr sont tous identiques. J'ai appris cela en trébuchant avant de lire votre commentaire, mais votre commentaire est réconfortant que je faisais la bonne chose. –
En fait, j'appelle la fonction WIN32 CallWindowProc –