![]() ![]() |
|
C++辅导:制作透明窗体 | |
作者:佚名 文章来源:不详 点击数 更新时间:2008/4/18 14:38:50 文章录入:杜斌 责任编辑:杜斌 | |
|
|
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; } |
|
![]() ![]() |