制作透明窗体

王朝other·作者佚名  2008-06-01
窄屏简体版  字體: |||超大  

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;

}

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航