读书人

模态对话框点击外面怎么销毁

发布时间: 2012-04-27 11:57:44 作者: rapoo

模态对话框点击外面如何销毁
模态对话框创建后, 如何判断鼠标在其外部点击了并进而销毁对话框?

[解决办法]

C/C++ code
HWND g_hWnd = NULL;HHOOK hOldHook = NULL;LRESULT CALLBACK LowLevelMouseProc(int nCode, WPARAM wParam, LPARAM lParam){    if((HC_ACTION == nCode) && (WM_LBUTTONDOWN ==wParam))    {        CPoint pt;        CRect rc;        GetCursorPos(&pt);        GetWindowRect(g_hWnd, &rc);        if(!rc.PtInRect(pt))        {            PostMessage(g_hWnd, WM_CLOSE, 0, 0);        }    }    return CallNextHookEx(hOldHook, nCode, wParam, lParam);}void CXXXDlg::OnOK() {    g_hWnd = GetSafeHwnd();    hOldHook = (HHOOK)SetWindowsHookEx(WH_MOUSE_LL, LowLevelMouseProc, AfxGetInstanceHandle(), 0);} 

读书人网 >VC/MFC

热点推荐