300分,讨论像Winamp具有磁性的可拖动几个窗体的问题 (300分)

L

lfpsoft

Unregistered / Unconfirmed
GUEST, unregistred user!
众所周知,Winamp的窗体具有磁性,而且可以拖动多个窗体。
我知道DELPHI中有个叫FormMagnet控件具有磁性的功能,
这个控件也可以拖动窗体,但它只能拖动吸在主窗体的窗体,
如果我有两个窗体,一个吸住主窗体,另一个吸住这个窗体,
当我拖动主窗体时,另一个就不能跟住拖动了。
我有这个控件的源代码,但是我就是觖决不了这个问题,哪位高手
有兴趣试试?
 
你的mail!
 
作什么用的啊,要那么多分?
我在了一只有一分啊。
 
lfpsoft@163.com
 
怎么没有人有吗?
 
我已找到了。
 
众所周知,Winamp的窗体具有磁性,而且可以拖动多个窗体。
我知道DELPHI中有个叫FormMagnet控件具有磁性的功能,
这个控件也可以拖动窗体,但它只能拖动吸在主窗体的窗体,
如果我有两个窗体,一个吸住主窗体,另一个吸住这个窗体,
当我拖动主窗体时,另一个就不能跟住拖动了。
我有这个控件的源代码,但是我就是觖决不了这个问题,哪位高手
有兴趣试试?
 
FormMagnet.jpg

我想要的功能是在上面的个图里
当拖动Window 1的时候,Window 2,Window 3也跟着Window 1移动。
 
看看这里:
http://www.delphibbs.com/delphibbs/dispq.asp?lid=1206214
 
这个例子好像是说磁性,并没有说到拖动,用了上面的控件,任意多个窗之间都有
磁性,就是不能像上面所说的拖动。
 
不好意思,刚刚上班,已发,不知道跟你找到的是不是一样:)
 
>>>>这个例子好像是说磁性,并没有说到拖动,用了上面的控件,任意多个窗之间都有
>>>>磁性,就是不能像上面所说的拖动。

老兄,拖动主窗体,其他跟着移动,你自己可以计算位置的。
试试这个lid=1206214中未帖出来的代码:
........................
private
procedure WMMOVE(var Msg: TMessage); message WM_MOVE;
{ Private declarations }
......................
.......................
procedure TMainForm.WMMOVE(var Msg: TMessage);
begin
//----移动窗体时,其他窗体跟随移动。当然,要改成你自己的窗体名称---
if boolean_x then
begin
MusicInfoForm.Left:=MainForm.Left+MainForm.Width;
MusicInfoForm.Top:=MainForm.Top;

BrowserForm.Left:=MainForm.Left+MainForm.Width;
BrowserForm.Top:=MainForm.Top+MusicInfoForm.Height;

LeftSoundForm.Left:=MainForm.Left;
LeftSoundForm.Top:=MainForm.Top+MainForm.Height;

RightSoundForm.Left:=MainForm.Left+MainForm.Width-RightSoundForm.Width;
RightSoundForm.Top:=MainForm.Top+MainForm.Height;
end;
end;
 
老兄,你的方法是可以拖动几个窗体,但是如果他们没有相同的LEFT或相同的Top呢?
或者你下载以下的DEMO运行看下就会明白我的意思了。

http://www.lkgarden.com/lfpsoft/FormMagnetDemo.exe

to shenloqi:
谢谢你,是这个控件,但是你这份是没有源码的,我想要的是有源码的。
不过我已找到了。
 
既然有源代码在手,难道还不能对它做适当的修改以满足你的要求?
只要修改判断是否“吸住”移动的那部分代码应该就行了。
 
唉,我水平有限,改来改去,就是改不了。
 
lfpsoft进来拿分
http://www.delphibbs.com/delphibbs/dispq.asp?lid=1314538
100分索要你所说的FormMagnet源程序
gophie@yellowpage.com.cn
只是想学习学习,谢谢
 
jrq的方法可以呀
具体值你可以改呀
FormMagnet的源码发一份我研究研究吧
cbychen@sina.com
 
呵呵,也给我一份源码看看,挺有意思的。
zergwang@21cn.com
说不定能改好它对你有帮助。
 

Similar threads

D
回复
0
查看
746
DelphiTeacher的专栏
D
D
回复
0
查看
748
DelphiTeacher的专栏
D
D
回复
0
查看
595
DelphiTeacher的专栏
D
顶部