网上文摘 小说 Flash游戏 最近更新 下载排行 资源分类 下载指南
经典编程资源 精彩不容错过
设为首页
加入收藏
联系我们
当前位置:Delphi园地技巧文章编程心得 → 用鼠标拖动无标题窗口
用鼠标拖动无标题窗口
日期:2004年12月28日 作者:王翔宇 人气: 查看:[大字体 中字体 小字体]

编程的时候,有时为了需要,会将窗体的BorderStyle设置为bsNone,即无标题窗体。但是这样一来,因为没有了标题栏,就无法拖动窗体了。其实,我们只需要用以下的方法,就可以实现平滑拖动窗体了。

在OnMouseDown事件中加入

OldX:=x;

OldY:=u;

在OnMouseMove事件中加入

Form1.Left:=Form1.Left+x-Oldx;

Form1.Top:=Form1.Top+y-Oldy;

##1源代码如下:

unit Unit1;

interface

uses

Windows, Messages,SysUtils, Classes,Graphics,Controls,Forms, Dialogs;

type

TForm1 = class(TForm)

procedure FormMouseDown(Sender:TObject;Button:TMouseButton;

Shift:TShiftState;X,Y,Integer);

procedure FormMouseMove(Sender:TObject;Button:TMouseButton;

Shift:TShiftState;X,Y,Integer);

private

 Private declarations

public

{Private declarations

end;

var

Form1:TForm1;

OldX,OldY:integer; //定义全局变量

implementation

{$R *.DFM

procedure TForm1.FormMouseDown(Sender:TObject;Button:TMouseButton;

Shift:TShiftState;X,Y:Integer);

begin

OldX:=x;

OldY:=y;

end;

procedure TForm1.FormMouseMove(Sender:TObject;Button:TMouseButton

Shift:TShiftState;X,

Y:Integer);

begin

if ssleft in shift then  //按下鼠标左键

begin

Form1.Left:=Form1.Left+x-Oldx;

Form1.Top:=Form1.Top+y-Oldy;

end;

end;

end.

注:以上代码在Delphi5.0Win98 SE中测试通过。

(出处:www)

相关文章:
·如何自已做预览窗口
·用Delphi控制IE窗口
·Delphi编程中实现窗口分割
·查阅可视窗口标题
·通过位图来创建窗口区域
·用两种方法快速简单的实现窗口淡入淡出
·"网络蚂蚁"和"FlashGet"的悬浮窗口的实现
·打印机的设置窗口看不到已经安装的打印机列表的处理
 → 特别推荐
 → 热点TOP10
关于我们 | 广告服务 | 发布资源 | 联系站长 Copyright © 2002-2006 Delphi园地 All Rights Reserved