窗体吸附(我是菜鸟)(50分)

  • 主题发起人 主题发起人 yufeify
  • 开始时间 开始时间
Y

yufeify

Unregistered / Unconfirmed
GUEST, unregistred user!
当我的第一个窗体移动时,第二个窗体根据第一个的消息作相应的处理
 
是要做磁性窗体吗
 
笨办法,在第二个窗体上放上一个 timer 控件,将参数传过去
 
第一个窗体移动时,发送消息给第二个窗体不好吗?
 
gdgxcvxcvxcv
 
能不能搞一个小小的例子给我谢谢,说明窗体的磁性或吸附
 
太麻烦了,五十分可能少了点
推荐一个空件好了
http://www.tommstudio.com/newclub30/doaction.asp?action=download&type=kongjian&id=723
我用过了这个空件还是不错
 
怎么没有人帮我呀
 
之前見過有一個由"魯小班做的控件" 跟你的要求一樣的..你在網上找一下就行了...
 
回答了我回加分的
 
用控件
或搜索Winamp
 
在移动功方法中加入重新写入一个位置参数不就行了吗?
 
Winamp风格的磁性窗体
拦截WM_MOVE消息即可

type

TForm1 = class(TForm)

private

procedure WMMOVE(var Msg: TMessage); message WM_MOVE;

end;

var

Form1: TForm1;

implementation

{$R *.DFM}

{ TForm1 }

procedure TForm1.WMMOVE(var Msg: TMessage);

begin

Inherited;

if (Left < 10) and (Top < 10) and

(Left <> 0) and (Top <> 0) then // 设定移动到左上角 10 点范围内时贴到边上去

begin

Left := 0;

Top := 0;

Msg.Result := 0;

end;

end;

end.


 
去http://kingron.delphi.com , 共享资源里面,有一个ModalForm,只要你的窗体从这里继承下来,并设置AttachForm即可,窗体就会自动Attach到指定的窗体
 
在mouse down事件中加入下面代码;
MoveWindow(form2.Handle,form1.Left+x-px,form1.Top+y-py+form1.Height ,form2.Width,form2.Height,true);
当然px,py要定议。为当鼠标按下时的坐标。准行,我就是这样的。原码直接copy.
 
后退
顶部