Текущий архив: 2006.04.09;
Скачать: CL | DM;
ВнизПодскажите как… Найти похожие ветки
← →
Farpik © (2006-03-26 01:51) [0]Здравствуйте!!! Подскажите, как можно сделать возможным перемещение окна (формы) не за заголовок (Caption), а например, за TPanel. Только обязательно за какой-либо компонент, а не за пустое место в окне.
← →
Dmitrij_K (2006-03-26 01:56) [1]
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
← →
Farpik © (2006-03-26 03:14) [2]Не то. Надо чтобы перемещалось окно.
← →
Farpik © (2006-03-26 03:34) [3]Всё понял! Надо так:
procedure TForm1.Panel1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
ReleaseCapture;
Form1.Perform(WM_SYSCOMMAND, $F012, 0);
end;
← →
rem2 (2006-03-26 17:45) [4]У Form1.Perform(WM_SYSCOMMAND, $F012, 0); есть проблемы при перемещении окна в самый верх.
← →
Dmitrij_K (2006-03-26 17:49) [5]
> Form1.Perform(WM_SYSCOMMAND, $F012, 0); есть проблемы
> при перемещении окна в самый верх.
Интересно, какие?
← →
фил (2006-03-27 07:00) [6]Попробуй узнаеш
← →
Dmitrij_K (2006-03-27 08:10) [7]Никаких проблем не вижу.
← →
rem2 (2006-03-27 08:25) [8]Проблема в том что задвинуть окно вверх неполучится.
Оно вернётся обратно вниз на уровень заголовка.
← →
rem2 (2006-03-27 08:28) [9]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;
Страницы: 1 вся ветка
Текущий архив: 2006.04.09;
Скачать: CL | DM;
Память: 0.46 MB
Время: 0.014 c