制作透明窗体

2008-02-23 05:36:57来源:互联网 阅读 ()

新老客户大回馈,云服务器低至5折

1.重载CreateParams函数,配置透明风格
2.然后重载他的WM_ERASEBKGND消息。
代码片段:

.h File
class TYourForm:public TForm
{
private:
void __fastcall WMNC(TMessage &Message);
public:
__fastcall TYourForm(TComponent *Owner);
BEGIN_MESSAGE_MAP
VCL_MESSAGE_HANDLER(WM_ERASEBKGND,TMessage,WMNC);
END_MESSAGE_MAP(TForm);
protected:
virtual void __fastcall CreateParams(TCreateParams &Params);
}


.cpp File

void __fastcall TYourForm::CreateParams(TCreateParams &Params)
{
TForm::CreateParams(Params);
Params.EX_STYLE|=WS_EX_TRANSPARENT;
}
void __fastcall TYourForm::WMNC(TMessage &Message)
{
SetBkMode(GetWindowDC(this->Handle),OPAQUE);
ReleaseDC(this->Handle,GetWindowDC(this->Handle)) ;
Messgae.Result=1;
}




标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇: 重载CreateParams实现无标题栏的窗体

下一篇: 创建位图型不规则窗体(可透明,可移动)

热门词条
热门标签