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中,如果编译环境不支持,可以这样: