透明窗体

来源:互联网 发布:先科q7网络机顶盒论坛 编辑:程序博客网 时间:2024/04/27 14:56

windows 2000以及之后版本的系统,都支持一个函数,用来设置窗体透明属性。

函数原型:

 
参数说明:
很明显,第一个参数是需要设置属性的窗体的句柄,第二个参数是一个掩码值,第三个参数是透明程度值,第四个参数是透明模式。
其中,第二个参数和第三个参数只有一个函数有效。

此函数有两种透明方式,由第四个参数DWORD dwFlags表示。
dwFlags设置为LWA_COLORKEY的时候,COLORREF crKey参数有效,函数执行的效果是使值为crKey的颜色透明。
dwFlags设置为LWA_ALPHA的时候,BYTE bAlpha参数有效,函数执行的效果是使整个窗体透明,其中bAlpha表示透明的程度,0表示完全透明,也就是什么也看不到,
255表示完全不透明。

当然,要使此函数生效,必须设置窗体扩展属性为WS_EX_LAYERED。
利用SetWindowLong函数设置。


以上两句能将一个窗体设置为半透明。


以上两句能将窗体中红色部分设置为全透明。

SetLayeredWindowAttributes函数在user32.dll中,如果编译环境不支持,可以这样:
原创粉丝点击