您的位置:首页 > 编程语言 > Delphi

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

2010-06-17 09:05 218 查看
为了程序美观,大家经常会使用图片做为背景,把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标题栏是一模一样的。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: