WIN32 API程式設計之 透明static

2022-05-23 13:30:15 字數 599 閱讀 8272

createwindow可以直接建立乙個staitc,但這個static是不透明的,如果我們把視窗背景設定為gray_brush,則static會很明顯的有乙個白色背景,一般來說這樣肯定很難看。

可以先給 static設定乙個ws_ex_transparent的擴充套件屬性,然後在訊息**函式中攔截 wm_ctlcolorstatic 訊息,處理下textcolor 和 bkmode,即文字顏色和背景模式:

設定擴充套件屬性:

1 setwindowlong(hstatic,gwl_exstyle,ws_ex_transparent);

處理wm_ctlcolorstatic訊息

1

case

wm_ctlcolorstatic:

2 hdc =(hdc)wparam;

3 settextcolor(hdc, rgb(0, 0, 0

));4

setbkmode(hdc, transparent);

5return (lresult)getstockobject(null_brush);

這樣static控制項就可以透明了

VC 串列埠程式設計之基於Win32 API

1 api描述 在win32 api中,串列埠使用檔案方式進行訪問,其操作的api基本上與檔案操作的api一致。開啟串列埠 win32 中用於開啟串列埠的api 函式為createfile,其原型為 例如,以下程式用於以同步讀寫方式開啟串列埠com1 handle hcom dword dwerro...

win32 API程式設計之常用訊息詳解

一 傳送訊息的函式 例項 include include 自定義訊息 define wm aaa wm user 1hwnd hwnd hwnd hwnd2 自定義的視窗過程 lresult callback mywindowproc hwnd hwnd,uint msg,wparam wparam...

win32API實現透明字幕視窗

hwnd hwnd createwindowex ws ex layered,text testwindow text 透明視窗 ws popup ws visible,0,0,20,20,null,hinstance,null setlayeredwindowattributes hwnd,0,0...