重载CreateParams实现无标题栏的窗体

http://tech.ddvip.com   2006年03月31日    社区交流

本文详细介绍重载CreateParams实现无标题栏的窗体

  重载TForm类的CreateParams(TCreateParams& Params)方法。

  void __fastcall CreateParams(TCreateParams& Params)
{
  Params.Style&=WS_CAPTION;
  TForm::CreateParams(Params);
}

  截取Windows的WM_NCHITTEST消息

  在头文件中加入

  private:
     void __fastcall WMNChitTest(TMessage& Msg);
protected:
     BEGIN_MESSAGE_MAP
      VCL_MESSAGE_HANDLER(WM_NCHITTEST,TMessage,WMNChitTest)
     END_MESSAGE_MAP(TForm)

  在主文件中加入

  void __fastcall WMNChitTest(TMessage& Msg)
{
  if(GetAsyncKeyState(VK_LBUTTON)<0)
   Msg.Result=HTCAPTION;
  else
   Msg.Result=HTCLIENT;
}

责编:豆豆技术应用

正在加载评论...