| ||
SWP_NOZORDER); } if (bEnableParent) { ::EnableWindow(hWndParent, TRUE); } if (hWndParent != NULL && ::GetActiveWindow() == m_hWnd) ::SetActiveWindow(hWndParent); BkWinManager::SetActive(hWndLastActive); if ( IsWindow() ) DestroyWindow(); return m_uRetCode; } void OnClose() { SendMessage(WM_COMMAND, MAKELONG(IDCANCEL, 0), NULL); } void EndDialog(UINT uRetCode) { m_uRetCode = uRetCode; m_bExitModalLoop = TRUE; // DestroyWindow里面直接Send了WM_DESTROY,所以不会跑到DoModal的消息循环里,所以有了下面那行代码 // DestroyWindow(); // 这句非常重要,可以让DoModal消息循环再跑一次,防止卡死在GetMessage,泪奔~~~~~~~ ::PostThreadMessage(::GetCurrentThreadId(), WM_NULL, 0, 0); } void OnKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags) { if (IsWindowEnabled()) { if (::GetKeyState(VK_CONTROL) >= 0) { if (VK_ESCAPE == nChar) { SendMessage(WM_COMMAND, MAKELONG(IDCANCEL, 0), NULL); } else if (VK_RETURN == nChar) { SendMessage(WM_COMMAND, MAKELONG(IDOK, 0), NULL); } } SetMsgHandled(FALSE); } } void OnOK(UINT /*uNotifyCode*/, int /*nID*/, CWindow /*wndCtl*/) { BKNMCOMMAND nms; nms.hdr.code = BKNM_COMMAND; nms.hdr.hwndFrom = m_hWnd; nms.hdr.idFrom = IDC_RICHVIEW_WIN; nms.uItemID = IDOK; nms.szItemClass = ""; LRESULT lRet = ::SendMessage(m_hWnd, WM_NOTIFY, (LPARAM)nms.hdr.idFrom, (WPARAM)&nms); } void OnCancel(UINT /*uNotifyCode*/, int /*nID*/, CWindow /*wndCtl*/) { BKNMCOMMAND nms; nms.hdr.code = BKNM_COMMAND; nms.hdr.hwndFrom = m_hWnd; nms.hdr.idFrom = IDC_RICHVIEW_WIN; nms.uItemID = IDCANCEL; nms.szItemClass = ""; LRESULT lRet = ::SendMessage(m_hWnd, WM_NOTIFY, (LPARAM)nms.hdr.idFrom, (WPARAM)&nms); } public: virtual BOOL PreTranslateMessage(MSG* pMsg) { return FALSE; } protected: BOOL m_bExitModalLoop; void _ModalMessageLoop() { BOOL bRet; MSG msg; for(;;) { if (::PeekMessage(&msg, NULL, 0, 0, PM_NOREMOVE)) { if (WM_QUIT == msg.message) break; } if (m_bExitModalLoop (网视站,专业提供浏览器下载) | ||
相关文章相关软件2345安全卫士最新官方版2345安全卫士官方版 | 45.34MB 360杀毒软件官方正式版360杀毒软件官方正式版 | 35.10MB 360安全卫士最新版下载360安全卫士最新版下载 | 50.3MB QQ电脑管家官方正式版QQ电脑管家官方正式版 | 24.2MB 金山毒霸2022最新版下载金山毒霸2022下载 | 37MB 猎豹清理大师官方版下载猎豹清理大师下载 | 47.4MB | ![]() |