首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> C++ >> 關於C++

C++ 實現窗口置頂/取消置頂:SetWindowPos 與 HWND_TOPMOST

     編輯:關於C++

核心 API

// 置頂
SetWindowPos(&wndTopMost, rc.left, rc.top, rc.Width(), rc.Height(), SWP_SHOWWINDOW);

// 取消置頂
SetWindowPos(&wndNoTopMost, rc.left, rc.top, rc.Width(), rc.Height(), SWP_SHOWWINDOW);

完整示例 (MFC 風格)

CRect rcMy;
::GetWindowRect(m_hWnd, &rcMy);  // 獲取當前窗口位置大小

// 設為總在最前
SetWindowPos(&wndTopMost, rcMy.left, rcMy.top, 
             rcMy.Width(), rcMy.Height(), SWP_SHOWWINDOW);

// 取消總在最前
SetWindowPos(&wndNoTopMost, rcMy.left, rcMy.top, 
             rcMy.Width(), rcMy.Height(), SWP_SHOWWINDOW);

參數說明

  • hWndInsertAfter:HWND_TOPMOST (置頂) / HWND_NOTOPMOST (取消)。MFC 封裝為 &wndTopMost / &wndNoTopMost。
  • X, Y, cx, cy:位置與尺寸,保持原樣即可。
  • uFlags:SWP_SHOWWINDOW 顯示窗口;常配合 SWP_NOSIZE | SWP_NOMOVE 僅改變 Z 序。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved