怎么在FORM上拖动一个按钮?@@@@@急急急急急急急急急急急急

jgmcy2 2003-01-17 12:12:02
我想在FORM上拖动一个按钮,拖动时显示一个方框,放下时显示按钮,类似于
DELPHI自身的控件拖动,请各位大侠帮帮忙.小弟有礼了!!!!!
...全文
57 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
johnmack 2003-01-31
  • 打赏
  • 举报
回复
新年快乐!
snake_eye 2003-01-31
  • 打赏
  • 举报
回复
我门公司写过一个类就是你想要的,其实就是画,画,画点画线,
linsir000 2003-01-23
  • 打赏
  • 举报
回复
const
sc_DragMove:longint=$F012;

procedure MoveWindow000(Handle:THandle);
begin
ReleaseCapture;
SendMessage(Handle,wm_SysCommand,sc_DragMove,0);
end;
diruser 2003-01-22
  • 打赏
  • 举报
回复
上面的已经贴完了
ehom 2003-01-22
  • 打赏
  • 举报
回复
//在Button的OnMouseDown事件中

if ssCtrl in Shift then
begin
ReleaseCapture;
(Sender as TWinControl).Perform(WM_SYSCOMMAND,$F012,0);
end;

//当Ctrl按下时执行
citytramper 2003-01-22
  • 打赏
  • 举报
回复
那个方框可能要自己画吧
jgmcy2 2003-01-17
  • 打赏
  • 举报
回复
在DragOver事件中设置按钮新位置时,如果移动很快,就丢掉了按钮。
还有移动时会显示按钮而不是方框。
jackystar 2003-01-17
  • 打赏
  • 举报
回复
up
lifehxh 2003-01-17
  • 打赏
  • 举报
回复
不过他好像是移动窗体你只要把Form1改为你的Button1就可以了
lifehxh 2003-01-17
  • 打赏
  • 举报
回复
我这一写,看来我是慢了一步了好了有人给你解答了
lifehxh 2003-01-17
  • 打赏
  • 举报
回复
在分别在mousedown ,mousemove,mouseup事件里加些代码即可,里自己让它移动可以实现不过delphi的我不会啊,VB,和BCB我都用同样的方法实现了啊.先定义三个全局的变量用来分别记录叛断鼠标是按下没有(在mousedown时记下mouseup时又记下)还有两个就用来记录下mousedown时的坐标X,Y在mousemove时就让它移动鼠标移动的x,y数,这样就可以实现了啊.
cdhuanglei 2003-01-17
  • 打赏
  • 举报
回复
这个方法比较好:

private
{ Private declarations }
APPpos_old:TPoint; //移动之前指针位置
APPDrag:Boolean; //是否移动


procedure TForm1.Button1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
APPDrag:=true;
APPpos_old.X:=x;
APPpos_old.Y:=y;
end;

procedure TForm1.Button1MouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
APPDrag:=false;
end;

procedure TForm1.Button1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
if not APPDrag then
exit;
Form1.Left:=Form1.Left+X-APPpos_old.X;
Form1.Top:=Form1.Top+Y-APPpos_old.Y;
end;
naughtyboy 2003-01-17
  • 打赏
  • 举报
回复
Form1.DockSite := True;

Button1.DragKind := dkDock;
Button1.DragMode := dmAutomatic;
budi 2003-01-17
  • 打赏
  • 举报
回复
子类化按钮窗口过程,响应HITTEST消息

5,931

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧