当前位置:首页 >> 编程开发 >> Visual C++ >> 内容

制作透明窗体

时间:2008/1/5 作者:平凡之路 来源:xuhantao.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;
}

相关文章
  • 没有相关文章
  • 徐汉涛(www.xuhantao.com) © 2024 版权所有 All Rights Reserved.
  • 部分内容来自网络,如有侵权请联系站长尽快处理 站长QQ:965898558(广告及站内业务受理) 网站备案号:蒙ICP备15000590号-1