Win8仿Win10無邊框效果的實現

2021-07-11 20:01:39 字數 858 閱讀 1595

只是左右沒有邊框而已,陰影效果是沒有的。如圖所示。我想,在win10如果這樣做,估計會把客戶區切掉一截。

當windows客戶區的大小和位置需要重新計算時會發出wm_nccalcsize訊息,因此攔截該訊息可以控制windows窗體客戶區的尺寸和位置。

當訊息引數wparam為true時,lparam引數為nccalcsize_params型別的指標,該型別包含了可用於計算客戶區大小和位置的資訊。

nccalcsize_params 結構體

typedef struct tagnccalcsize_params nccalcsize_params, *lpnccalcsize_params;

如果窗體是子窗體,那麼座標資訊都使相對父窗體的,否則座標是相對於螢幕的。當訊息處理完畢後,第乙個rect被用來儲存移動後或大小改變後的客戶區的座標資訊,即計算後的結果。窗體邊框厚度和標題高度是可以獲取的。略。

如果乙個窗體沒有標題欄,那麼它的邊框效果是這樣的

修改客戶區域

已經說明,客戶區域的座標資訊是根據窗體的新座標資訊、窗體邊框厚度和標題欄的高度進行計算得來的。因此我們可以攔截wm_nccalcsize訊息,人為的修改窗體的座標資訊,從而影響客戶區座標資訊的計算結果。

void c***dlg::onnccalcsize(bool bcalcvalidrects, nccalcsize_params* lpncsp)

給出的**中沒有設定top,因為窗體頂部的邊框在標題欄上方,這裡簡單的修改top是達不到預期效果的,需要重繪標題欄才行。略。

引用:修改窗體客戶區區域

win8系統公升級win10系統教程

近日,看到大家都將自己的電腦從win8公升級到win10,非常的羨慕。可是又苦於自己是電腦菜鳥,不懂得如何將win8系統公升級到win10,真是萬般苦惱啊。好在功夫不負苦心人,終於找到了解決的方法。下面,我們就一起來看看如何直接將win8系統公升級為win10系統。2.在正在確保你已準備好進行安裝介...

高仿Windows UI 偽裝Win8

將win7桌面修改為win8桌面風格 令人矚目的win8正式上市,不少本本也開始搭載win8系統,全新的windows ui 原metro介面 可將應用程式 快捷方式等以動態樣式呈現在螢幕上,這確實是個創新之舉。如果你想體驗全新的windows ui風格,又不想費力將系統公升級到win8平台,不妨用...

Win10系統回滾到Win8系統的操作教程

最近,就有win8使用者提到想回到win8系統,今天,小編就教你們回滾到win8系統。在桌面開啟開始選單,點選 設定 如圖所示 在開啟的設定視窗中,找到 更新和安全 如圖所示 在開啟的視窗中,切換到恢復,在右側視窗點選回退到windows 8下方的開始按鈕,如圖所示 在執行系統回退之前會做一些簡單的...