15,471
社区成员
发帖
与我相关
我的任务
分享
SetWindowLong(hWnd,GWL_WNDPROC,(LONG)MyWndProc);
LRESULT CALLBACK MyWndProc(HWND hWnd,UINT Message,WPARAM wParam,LPARAM lParam)
{
//此处可以优先处理此窗口的所有消息,之后传递给原来的函数,让他进行处理
if(Message == WM_KEYDOWN)
{
if(wParam == VK_F1)
{
MessageBox(NULL,TEXT("按下了F1"),NULL,NULL);
DLLdlg=new CDlg;
DLLdlg->Create(IDD_DIALOG1);
DLLdlg->ShowWindow(SW_SHOW);
}
}
return OldWndProc(hWnd,Message,wParam,lParam);//传递给原来的函数
}
DLLdlg=new CDlg;
DLLdlg->Create(IDD_DIALOG1);
DLLdlg->ShowWindow(SW_SHOW);
CWnd *pCWnd = CWnd::GetForegroundWindow();
DLLdlg->Create(IDD_DIALOG1, pCWnd);
DLLdlg->ShowWindow(SW_SHOW);