怎样让一个form紧贴着另外一个form?就像暴风影音的暴风盒子紧贴着暴风影音的主窗体那样?要设置什么属性呀?

解决方案 »

  1.   

    在第一个form的onmove事件中设置第二个form的位置
      

  2.   

    没有看到onmove呀?只有onmousemove。是onmousemove吗?
      

  3.   

    光是鼠标移动还不够啊,还要判断是不是移动了form窗体,这样才能同步移动的。
      

  4.   

    没有看到onmove呀?只有onmousemove。是onmousemove吗?自己申明一下处理就好。
    procedure OnWindowMove(var Message: TMessage); message WM_MOVE;
      

  5.   

    我是初学delphi,能不能求您说得具体一点呀?
      

  6.   

    我是初学delphi,能不能求您说得具体一点呀?
      

  7.   

    综合参考资料,给一段代码吧
    unit Unit1;interfaceuses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs;type
      TForm1 = class(TForm)
      private
        { Private declarations }
        procedure WMEnterSizeMove(var Message: TMessage) ; message WM_ENTERSIZEMOVE;
        procedure WMMove(var Message: TMessage) ; message WM_MOVE;
        procedure WMExitSizeMove(var Message: TMessage) ; message WM_EXITSIZEMOVE;    procedure wmnchittest(var msg:twmnchittest);message wm_nchittest;
      public
        { Public declarations }
      end;var
      Form1: TForm1;implementationuses Unit2;{$R *.dfm}{ TForm1 }procedure TForm1.WMEnterSizeMove(var Message: TMessage);
    begin
      Caption:= '正在移动';
    end;procedure TForm1.WMExitSizeMove(var Message: TMessage);
    begin
      Caption:= Caption + '  移动结束';
    end;procedure TForm1.WMMove(var Message: TMessage);
    begin
      Caption:= Format('移动到 x: %d, y:%d', [TWMMove(Message).XPos,TWMMove(Message).YPos]);
      if Assigned(form2) then
      begin
        form2.Show;
        Form2.Top:=form1.Top;
        Form2.Left:=form1.Left+form1.Width;
      end;
    end;procedure TForm1.wmnchittest(var msg: twmnchittest);
    begin
      inherited;
        if (htclient=msg.result) then msg.result:=htcaption;
      Form2.Top:=form1.Top;
      Form2.Left:=form1.Left+form1.Width;
    end;end.
      

  8.   

    http://www.raysoftware.cn/?p=46