Предположим, Ваш TreeView расположен в левой, а Memo в правой части формы. Вам нужно сделать следующее:
type TForm1 = class(TForm)TreeView1: TTreeview;Panel1: TPanel;Panel2: TPanel;Memo1: TMemo;procedure Panel1MouseDown(Sender: TObject; Button: TMouseButton;Shift: TShiftState; X, Y: Integer);procedure Panel1MouseUp(Sender: TObject; Button: TMouseButton;Shift: TShiftState; X, Y: Integer);procedure Panel1MouseMove(Sender: TObject; Shift:TShiftState;X, Y: Integer);privateResizing: Boolean;public...end; procedure TForm1.Panel2MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);begin Resizing:=true;end; procedure TForm1.Panel2MouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);begin Resizing:=false;end; procedure TForm1.Panel2MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);begin if Resizing then beginTreeView1.Width:=TreeView1.Width+X;// Предохранение от странных ошибок перерисовки при изменении размеров:Panel1.Invalidate;end;end; |
Код может быть модифицирован для получения горизонтального движка - идея, надеюсь, понятна... [000046]