16,472
社区成员
发帖
与我相关
我的任务
分享
WNDPROC OldWndProc = NULL;
LRESULT CALLBACK NewWndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
{
switch(message)
{
case WM_KEYDOWN:
{
MessageBox(hWnd, _T("XX"), NULL, 0);
}
break;
default:
break;
}
return CallWindowProc(OldWndProc, hWnd, message, wParam, lParam);
}
// Mesage handler for about box.
LRESULT CALLBACK About(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)
{
switch (message)
{
case WM_INITDIALOG:
{
HWND hEdit = GetDlgItem(hDlg, IDC_EDIT1);
if(hEdit)
{
OldWndProc = (WNDPROC)SetWindowLong(hEdit, GWL_WNDPROC, (LONG)NewWndProc);
}
}
return TRUE;
case WM_COMMAND:
if (LOWORD(wParam) == IDOK || LOWORD(wParam) == IDCANCEL)
{
EndDialog(hDlg, LOWORD(wParam));
return TRUE;
}
break;
}
return FALSE;
}