在panel上显示图像image后,如何实现鼠标拖动时image和panel一起被拖动呢? ( 积分: 10 )

  • 主题发起人 主题发起人 guzhengyi_nj
  • 开始时间 开始时间
可以在image的mousedown中做一个标记,鼠标按下,然后在mousemove中检查鼠标是否按下,按下就让panel随鼠标一起动,在mouseup中取消标记
 
请问lollman:
在mousedown中做一个标记是
IsMove:=true;
pt:=Point(X,Y);
怎么区分在panel还是image上呢?
 
image没有占满panel吗?
如果Panel中没有需要操作的按钮和编辑框之类的,可以在Panel上放一个Shape,占满panel也可以
 
procedure TForm1.Image1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
const
SC_DragMove = $F012;
begin
ReleaseCapture;
(Sender as TControl).Parent.Perform(WM_SysCommand, SC_DragMove, 0);

end;
 
image没有占满panel.
panel有caption显示.
 
云影您好:
我试了下,好像还是不行。
 
怎吗不行?我的软件中正用者呢.image放在panel中怎吗不行?
 
谢谢!
可以拖动了!
 
多人接受答案了。
 
请问云影,
这样拖动后,我就无法重画panel间的连线了,应该怎么办呢?
 

Similar threads

D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
后退
顶部