如何使用SetWindowRgn函式建立異形視窗

2021-03-31 12:31:47 字數 548 閱讀 6250

很多的遊戲和工具軟體都使用異形視窗來出奇至勝。其實建立異形視窗從技術上來說難度不大,但是有沒有效果主要還是在於創意是否出奇。下面簡單的介紹如何使用setwindowrgn製作異形視窗。

setwindowrgn是新的sdk函式。該函式將繪畫訊息和滑鼠訊息都限定在視窗的乙個指定的區域內,實際上使視窗成為指定的不規則形狀。

給對話類增加乙個crgn資料成員,以便使用該資料成員建立視窗區域。

class ctestdlg:public cdialog

修改對話方塊的oninitdialog函式,建立乙個橢圓區域並呼叫setwindowrgn將該區域分配給視窗:

bool ctestdlg::oninitdialog ()

乙個簡單的異形視窗已經生成,如果編譯執行工程,將出現乙個橢圓形的視窗。下面的**是在onpaint訊息中進行處理,使得對話方塊具有立體效果。

void ctestdlg::onpaint () }

異形視窗不是只適用於對話方塊,同樣的適用於單文件,多文件型別的應用。如果讀者有興趣,可以自己進行嘗試。如有疑問可發mail至學院信箱。

如何使用 滅火器如何使用

滅火器的種類不同使用方法也不相同,下面單獨針對乾粉滅火器 泡沫滅火器和二氧化碳滅火器使用方法說明。一 乾粉滅火器的使用方法 適用範圍 適用於撲救各種易燃 可燃液體和易燃 可燃氣體火災,以及電器裝置火災。1 右手拖著壓把,左手拖著滅火器底部,輕輕取下滅火器。2 右手提著滅火器到現場。3 除掉鉛封。4 ...

如何使用 如何正確使用定速巡航

現在隨著造車技術的不斷創新和改進,越來越多的高科技功能都應用到了汽車上,不僅提供了實用性,也讓我們享受到了科技的快感。今天我們就聊一聊一項可以實現車輛自動駕駛的功能 定速巡航。定速巡航 cruise control system 簡稱ccs,簡單的理解就是給車子設定乙個速度值,駕駛員只需要掌握方向,...

如何使用CFileDialog

cfiledialog的語法 cfiledialog bool bopenfiledialog,lpctstr lpszdefext null,lpctstr lpszfilename null,dword dwflags ofn hidereadonly ofn overwriteprompt,l...