【UG\NX二次开发】UG使用MFC开发时,窗口样式为Popup时,处理切换窗口不成功的问题
2026/9/7 4:40:40 网站建设 项目流程
//用来绑定消息和函数直接的对应关系 BEGIN_MESSAGE_MAP(CheckDlg, CDialogEx) ON_WM_ACTIVATE() END_MESSAGE_MAP() //激活状态切换回调 void XXX::OnActivate(UINT nState, CWnd* pWndOther, BOOL bMinimized) { // nState的可能值: // WA_INACTIVE: 窗口被失活(变为后台窗口) // WA_ACTIVE: 窗口被激活(不是通过鼠标点击激活的,例如Alt+Tab) // WA_CLICKACTIVE: 通过鼠标点击激活 // 窗口失去激活状态 // 可以在这里处理失去焦点时的操作 if (nState == WA_INACTIVE) { //失去焦点后,将焦点设为当前ug窗口。这样就不会影响ALT+TAB切换。 HWND UGHwnd = (HWND)UF_UI_get_default_parent();//获取ug窗口句柄 if (UGHwnd) { CWnd* ugwindow = CWnd::FromHandle(UGHwnd); ugwindow->SetForegroundWindow(); ugwindow->SetFocus(); } } // 窗口被激活 // 可以在这里处理获得焦点时的操作 else { } // 调用基类的实现 CWnd::OnActivate(nState, pWndOther, bMinimized); }

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询