我在窗体上放一个CoolBar,我通过鼠标可以拖放,随意放在窗体的某一个位置吗?

解决方案 »

  1.   

    ①CoolBar1的属性DockSite=True②ToolBar1的属性
      DragKind=dkDock
      DragMode=dmAutomatic
      

  2.   

    Sorry! 更正:
    ①Form1的属性
      DockSite=True
      UseDockManager=True②CoolBar1的属性
      DragKind=dkDock
      DragMode=dmAutomatic
      

  3.   

    拖放COOLBAR,还是拖放COOLBAR里面的COOLBAND!如果你要拖放COOLBAR,随意放在窗体的某一个位置,只要设置CoolBar1的属性:
     DockSite=True  
     DragKind=dkDock
     DragMode=dmAutomatic
      

  4.   

    procedure TForm1.CoolBar1MouseMove(Sender: TObject; Shift: TShiftState; X,
      Y: Integer);const
      SC_DragMove = $f012;
    begin
      ReleaseCapture;
      CoolBar1.Perform(WM_SysCommand, SC_DragMove, 0);
    end;
      

  5.   

    procedure TForm1.CoolBar1MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    begin
      if (Button = mbLeft) then begin
        ReleaseCapture;
        SendMessage(CoolBar1.Handle, WM_SYSCOMMAND, SC_MOVE or 2, 0);
      end
      else
        inherited;
    end;
      

  6.   

    是拖放CoolBar。
    多谢大家,一会儿给分。