软件开发C++编程

VC++实现窗口置顶

2020-10-31  本文已影响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

参考资料:

上一篇下一篇

猜你喜欢

热点阅读