多层窗口(54)

总于过期了,把上面的东西搬过来

我已经被这个多层窗口弄晕了,快死了。
首先,要使用透明窗口函数:

SetLayeredWindowAttributes, updataLayeredWindowAttributes,
//就必须设置窗口属性为WS_EX_LAYERED。
//然后,这两个函数完全可以混合使用,

updataLayeredWindowAttributes会拦截wm_paint消息,窗口上的所有东西,重绘,必需自己处理。前一个函数则不会这样。

WS_EX_TRANSPARENT这个属性,会让窗体透明,真正的透明,不响应任何消息的透明。就只能自己去处理画图的那种。

窗体透明控件不透明:

this->SetBackgroundColor(RGB(255, 255, 255), TRUE);
SetLayeredWindowAttributes(RGB(255, 255, 255), 200, LWA_ALPHA | LWA_COLORKEY);
// //