![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Подскажите как… [D7, XP]
Farpik © (2006-03-26 01:51:00)Здравствуйте!!! Подскажите, как можно сделать возможным перемещение окна (формы) не за заголовок (Caption), а например, за TPanel. Только обязательно за какой-либо компонент, а не за пустое место в окне.
rem2 (2006-03-27 08:28:00) [1]var xx,yy,cc:Word;
procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
xx:= x;
yy:= y;
cc:= 1;
end;
procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
if cc <> 1 then Exit;
Left:= Left + (x - xx);
Top:= Top + (y - yy);
end;
procedure TForm1.FormMouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
cc:= 0;
end;
rem2 (2006-03-27 08:25:00) [2]Проблема в том что задвинуть окно вверх неполучится.
Оно вернётся обратно вниз на уровень заголовка.
Dmitrij_K (2006-03-27 08:10:00) [3]Никаких проблем не вижу.
фил (2006-03-27 07:00:00) [4]Попробуй узнаеш
Dmitrij_K (2006-03-26 17:49:00) [5]
> Form1.Perform(WM_SYSCOMMAND, $F012, 0); есть проблемы
> при перемещении окна в самый верх.
Интересно, какие?
rem2 (2006-03-26 17:45:00) [6]У Form1.Perform(WM_SYSCOMMAND, $F012, 0); есть проблемы при перемещении окна в самый верх.
Farpik (2006-03-26 03:34:00) [7]Всё понял! Надо так:
procedure TForm1.Panel1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
ReleaseCapture;
Form1.Perform(WM_SYSCOMMAND, $F012, 0);
end;
Farpik (2006-03-26 03:14:00) [8]Не то. Надо чтобы перемещалось окно.
Dmitrij_K (2006-03-26 01:56:00) [9]
procedure TForm1.Panel1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
ReleaseCapture;
Panel1.Perform(WM_SYSCOMMAND, $F012, 0);
end;
Read www.DRKB.ru