我正在創建一個本機窗口(編輯控件的組合框...)在C#中,我有一個IntPtr到WIN32 WndProc。調用它的語法是什麼?
oldWndProc = SetWindowLong(HandleOfCbEditControl,GWL_WNDPROC,newWndProc);
在我的子類wndproc中,我會有這樣的代碼,對,但我找不到調用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?***
}
}
編輯:在這個問題上的字 「子類化」 指的是WIN32 API的意義,不C#。這裏的子類化並不意味着重寫.NET基類的行爲。這意味着告訴WIN32調用你的函數指針而不是Windows當前的回調函數。它與C#中的繼承無關。
在調用默認proc之前,他想調用oldWndProc指向的上一個用戶proc。 – 2008-10-14 13:15:15