我这里不能用SetOwner,因为,当其中owner窗口销毁,就销毁了owned窗口了。 而这两个窗口,本身是兄弟关系,任何一个销毁,都不会导致另一个销毁的。 至于你说的OnWindowPosChanging,我不是很懂你的过程做了什么。(而且这个是需要SetOwner吗?) [quote=引用 2 楼 allenhiman 的回复:] 最好通过setower达到目的 如果窗口类你可控制的话 也可以响应 void CVirtualKioskDlg::OnWindowPosChanging(WINDOWPOS* lpwndpos) { if( lpwndpos->hwnd == this->m_hWnd ) { lpwndpos->hwndInsertAfter = hwndAwaysOntop; lpwndpos->flags |= SWP_NOACTIVATE; lpwndpos->flags &= ~SWP_NOZORDER; } //#endif CHtmlWidget::OnWindowPosChanging(lpwndpos); }
BOOL SetWindowPos( HWND hWnd, HWND hWndInsertAfter, int X, int Y, int cx, int cy, UINT uFlags ); hWndInsertAfter 设为 HWND_TOPMOST
最好通过setower达到目的 如果窗口类你可控制的话 也可以响应 void CVirtualKioskDlg::OnWindowPosChanging(WINDOWPOS* lpwndpos) { if( lpwndpos->hwnd == this->m_hWnd ) { lpwndpos->hwndInsertAfter = hwndAwaysOntop; lpwndpos->flags |= SWP_NOACTIVATE; lpwndpos->flags &= ~SWP_NOZORDER; } //#endif CHtmlWidget::OnWindowPosChanging(lpwndpos); }
15,979
社区成员
115,896
社区内容
加载中
试试用AI创作助手写篇文章吧