C++辅导:制作透明窗体
1.重载CreateParams函数并设置透明样式
2。然后重载它的WM_ERASEBKGND消息。
代码片段:
。h File
class TYourForm:public t form
{
private:
void _ _ fastcall WMNC(t Message & Message);
public:
_ _ fast call TYourForm(t component * Owner);
BEGIN _ MESSAGE _ MAP
VCL _消息_处理程序(WM_ERASEBKGND,TMessage,WMNC);
END _ MESSAGE _ MAP(t form);
protected:
virtual void _ _ fastcall create Params(TCreateParams & Params);
}
。cpp文件
void _ _ fast call TYourForm::create Params(TCreateParams & Params)
{
t form::create Params(Params);
Params。EX _ STYLE | = WS _ EX _ TRANSPARENT
}
void _ _ fastcall TYourForm::WMNC(t Message & Message)
{
SetBkMode(GetWindowDC(this-> Handle),OPAQUE);
ReleaseDC(this->Handle,GetWindowDC(this-> Handle));
消息。结果= 1;
}
0条评论