VC++实现窗口置顶

作者: 雪域迷影 | 来源:发表于2020-10-31 00:02 被阅读0次

最近在跟着Visual C++网络编程开发与实战视频教程做HttpSourceViewer这个MFC项目时,可以看我Github上的项目HttpSourceViewer,目前基本实现了所有功能,就是关于ALT搜索和调用迅雷7SDK下载还有些问题。看到作者jhkdiy的置顶窗口,于是Google了一下相关方法,没想到蛮简单的。

比如我需要单击CheckBox选择框,可以设置主对话框是否为窗口置顶,可以这么做,代码如下:

// 实现主窗口置顶
void CHttpSourceViewerDlg::OnClickedCheckTopmostWindow()
{
    // TODO: 在此添加控件通知处理程序代码
    HWND hWnd = this->m_hWnd;
    // whether if the window is topmost
    if (::GetWindowLong(hWnd, GWL_EXSTYLE) & WS_EX_TOPMOST)
    {
        // The window is topmost.
        // Revert back
        ::SetWindowPos(hWnd, HWND_NOTOPMOST, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE);
    }
    else
    {
        // The window is not topmost.
        // Make topmost
        ::SetWindowPos(hWnd, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE);
    }
}
image.gif

参考资料:

相关文章

网友评论

    本文标题:VC++实现窗口置顶

    本文链接:https://www.haomeiwen.com/subject/lepzmktx.html