Панель с двумя полосами слева, которые можно двигать

Панель с двумя полосами слева, которые можно двигать

Для создания панелей в двумя полосами слева, которые можно двигать друг относительно друга, используют компонент ControlBar (вкладка Additional), на котором обычно размещают один или несколько ToolBar (вкладка Win32). Чтобы сделать возможным "вытаскивание" панели из ControlBar нужно написать следующий код:

procedure TForm1.FormCreate(Sender: TObject);

begin

 ToolBar1.DockSite := true;

 ToolBar1.DragKind := dkDock;

 ToolBar1.DragMode := dmAutomatic;

end;

procedure TForm1.ControlBar1DockOver(Sender: TObject;

 Source: TDragDockObject; X, Y: Integer; State: TDragState;

 var Accept: Boolean);

begin

 Accept := (Source.Control is TToolBar);

 if Accept then

  with Source.DockRect do

  begin

  Left := ControlBar1.ClientToScreen(ControlBar1.ClientRect.Left);

  Right := Left + Source.Control.Width;

  Bottom :=  + Source.Control.Height;

  end;

end;

Вы можете убрать метод FormCreate, установив нужные свойства компонента ToolBar1 на стадии разработки при помощи Object Inspector.

http://delphiworld.narod.ru/ DelphiWorld 6.0

Отправить комментарий

Проверка
Антиспам проверка
Image CAPTCHA
...