您的位置:首页 > 编程语言 > Qt开发

Qt 实现窗口置顶与取消置顶

2016-07-07 22:46 459 查看
原生的Qt 实现窗口置顶的方法 setWindowFlags(Qt::WindowStaysOnTopHint);

目前还不知道怎么实现取消窗口置顶,还请知道使用的哥们分享。

我通过window API实现窗口置顶与取消置顶操作,如下

HWND hwnd = (HWND)m_pCfgWnd->winId();
DWORD dwstyle = ::GetWindowLong(hwnd,GWL_EXSTYLE);
DWORD err = GetLastError();
if (dwstyle & WS_EX_TOPMOST)
{
dwstyle &= ~WS_EX_TOPMOST;
::SetWindowLong(hwnd,GWL_EXSTYLE,dwstyle);
::SetWindowPos(hwnd, HWND_NOTOPMOST, 0, 0, 0, 0, SWP_NOMOVE|SWP_NOREPOSITION|SWP_NOSIZE|SWP_SHOWWINDOW);
}
else
{
dwstyle |= WS_EX_TOPMOST;
::SetWindowLong(hwnd,GWL_EXSTYLE,dwstyle);
::SetWindowPos(hwnd, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE|SWP_NOREPOSITION|SWP_NOSIZE|SWP_SHOWWINDOW);
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: