Форум: "Основная";
Текущий архив: 2004.05.16;
Скачать: [xml.tar.bz2];
ВнизПриклеить окно к другому окну Найти похожие ветки
← →
Бегун (2004-04-28 12:20) [0]Многие из вас пользовались WinAmp.
У него есть такая интерестная функция:
Когда приближаем дополнительное окно к главному, при уменьшении расстояния меньше Rp (расстояние пороговое) - дополнительное окно прилипает к главному.
Как это сделать?
Пробую так:
---------------------------------------------------
type
TfrmAdd = class(TForm)
public
procedure WMMove(var m: TMessage); message WM_MOVE;
end;
function TfrmAdd.Oper(x1,x2,y1,y2: integer): integer;
begin
Result:=Round(Sqrt(Sqr(x1-x2)+Sqr(y1-y2)));
end;
procedure TfrmAdd.OneCorner(crn,x1,y1: integer; lbl: TLabel);
var
MinRast,i: integer;
XMin, YMin: integer;
begin
MinRast:=1000000;
i:=Oper(x1,frmMain.Left,y1,frmMain.Top);
if i < MinRast then
begin
MinRast:=i;
XMin:=frmMain.Left;
YMin:=frmMain.Top;
sm:=s;
end;
if MinRast < StrToInt(ledtRange.Text) then
begin
frmAdd.Left:=XMin;
frmAdd.Top:=YMin;
end;
end;
procedure TfrmAdd.WMMove(var m: TMessage);
begin
OneCorner(0,frmAdd.Left,frmAdd.Top,lblRastTopLeft);
end;
---------------------------------------------------
В ledtRange.Text - прописано диаметр области захвата/приклеивания.
Этот код работает некорректно.
Дополнительное окно при входе в область захвата начинает мигать.
Подскажите, как правильно сделать?
← →
[lamer]Barmaglot © (2004-04-28 12:28) [1]Drag-and-dock + F1
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2004.05.16;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.032 c