简单的无标题窗口移动技巧(delphi)

   为了程序美观,大家经常会使用图片做为背景,把WINDOWS标题栏进地隐藏,这时候需要自己编码窗口移动代码。

 以前为了实现这种效果,我也写过非常复杂的代码来实现,但效果总是不好。 

 通过百度,发现一种比较方便的方法,共享一下。

 

   在FORM上我放置两个控件,image和label,image大小和form一致,简单点可以把image的align属性设置为alClient

  label放置在image的TOP位置,autosize设置为false,caption设置为空.大小模拟标题栏大小。

label的transparent属性设置为true(透明)

  然后在label的mousedown事件中编写两行代码

 

 procedure TForm1.lblMoveMouseDown(Sender: TObject; Button: TMouseButton;

  Shift: TShiftState; X, Y: Integer);

begin

   ReleaseCapture; //释放鼠标的捕获状态;

   (Form1 as TWinControl).PerForm(wm_SysCommand,sc_DragMove,0);//向窗体发送移动消息;

end;

 

编译一下,可以发现鼠标在label区域按下进行拖动,效果和按在正常的windows标题栏是一模一样的。

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值