![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Перетаскивание двух форм одновременно [D7, XP]
XRMiPO © (2008-04-04 15:59:00)Как сделать, чтобы можно было перетаскивать две формы за одну панель одновременно?
Пробовал с этим кодом что-то сделать, но он перетаскивает только одну форму, даже если указать там две.
ReleaseCapture;
Form2.Perform(WM_SYSCOMMAND, $F012, 0);
ProgRAMmer Dimonych (2008-04-04 19:42:00) [1]> XRMiPO (04.04.08 19:30) [2]
> чето у меня вся прога поворачивается куда то, но скрипт
> работает, но как-то не свосем правильно
Скрипт? Ну-ну...
XRMiPO (2008-04-04 19:36:00) [2]все, разобрался, там width и height местами поменять надо, спасибо за помощь.
XRMiPO (2008-04-04 19:34:00) [3]почему то форма меняет значение высоты с длиной
XRMiPO (2008-04-04 19:30:00) [4]чето у меня вся прога поворачивается куда то, но скрипт работает, но как-то не свосем правильно
easy (2008-04-04 16:31:00) [5]
var
downPoint:TPoint;
procedure TForm1.FormCreate(Sender: TObject);
begin
Width:=200;
Height:=100;
end;
procedure TForm1.FormShow(Sender: TObject);
begin
Form2.Show;
end;
procedure TForm1.FormResize(Sender: TObject);
begin
if assigned(Form2) then
MoveWindow(Form2.Handle,Left+Width,Top,Width,Height,true);
end;
procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
downPoint:=Point(X,Y);
end;
procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
if ssLeft in Shift then begin
Left := Left + (X - downPoint.X);
Top := Top + (Y - downPoint.Y);
MoveWindow(Form2.Handle,Left+Width,Top,Width,Height,true);
end;
end;