求窗体相吸(winamp效果)的例子源码~~~~想实现这样一个效果 ( 积分: 50 )

  • 主题发起人 主题发起人 刀疤董
  • 开始时间 开始时间

刀疤董

Unregistered / Unconfirmed
GUEST, unregistred user!
想做个类似的东西,达到这样的一个效果~~~
一个窗体靠近另一个窗体,就被另一个窗体吸引了,好象是同一个窗体了~~可以共同拖,但如果离开了,就相互独立~~~~ 请各位大富翁帮忙,谢谢~~~
 
想做个类似的东西,达到这样的一个效果~~~
一个窗体靠近另一个窗体,就被另一个窗体吸引了,好象是同一个窗体了~~可以共同拖,但如果离开了,就相互独立~~~~ 请各位大富翁帮忙,谢谢~~~
 
看看delphi自己本身的screensnap怎么做的吧。
procedure TCustomForm.WMWindowPosChanging(var Message: TWMWindowPosChanging);

procedure HandleEdge(var Edge: Integer
SnapToEdge: Integer;
SnapDistance: Integer = 0);
begin
if (Abs(Edge + SnapDistance - SnapToEdge) < FSnapBuffer) then
Edge := SnapToEdge - SnapDistance;
end;

begin
if FScreenSnap and ((Message.WindowPos^.X <> 0) or (Message.WindowPos^.Y <> 0)) then
with Message.WindowPos^, Monitor.WorkareaRect do
begin
HandleEdge(x, Left, Monitor.WorkareaRect.Left);
HandleEdge(y, Top, Monitor.WorkareaRect.Top);
HandleEdge(x, Right, Width);
HandleEdge(y, Bottom, Height);
end;
inherited;
end;
 
这是Delphi里面的源码啊~~ 楼上的太强了吧~~ 我没那么强啊~~~ 只是一个小菜鸟~~~
我看的不是很懂呀~~ 能有看的懂点的吗???
 
后退
顶部