C++辅导:制作透明窗体 |
|
www.nanhushi.com 佚名 不详 |
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; }
|
|
|
文章录入:杜斌 责任编辑:杜斌 |
|
上一篇文章: 创建位图型不规则窗体(可透明,可移动) 下一篇文章: C++处理for循环作用域 |
【字体:小 大】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口】 |
|
|