【发布时间】:2014-10-04 18:11:33
【问题描述】:
我的应用中有一个无模式的弹出对话框。我想让它只在它所属的应用程序中置顶,而不总是在桌面上置顶。
我尝试将第一个参数设置为wndTopMost,但是这样对话框会一直停留在桌面上,用户体验很差。
我也尝试过使用 SWP_NOZORDER 参数的 wndNoTopMost,但这只会在显示对话框时将其放在前面。如果我将另一个对话框/窗口移动到对话框位置,该对话框将隐藏在新对话框/窗口下。
我目前在 OnInitDialog() 中使用 SetWindowPos;
SetWindowPos(&wndNoTopMost
, myRect.left
, myRect.top
, myRect.Width()
, myRect.Height()
, SWP_NOACTIVATE | SWP_NOCOPYBITS | SWP_NOZORDER
);
【问题讨论】:
标签: c++ windows visual-c++ mfc