Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.05.16;
Скачать: CL | DM;

Вниз

Приклеить окно к другому окну   Найти похожие ветки 

 
Бегун   (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;
Скачать: CL | DM;

Наверх




Память: 0.46 MB
Время: 0.023 c
6-1080046976
Джек
2004-03-23 16:02
2004.05.16
Как отследить окно ошибки в TWebBrowser?


3-1082102461
Evgenija
2004-04-16 12:01
2004.05.16
добавление записи в базу


3-1082013742
Mamed
2004-04-15 11:22
2004.05.16
Izmeneniya v Clienddataset


14-1082626816
}|{yk
2004-04-22 13:40
2004.05.16
22 апреля - день рождения В.И.Ульянова


3-1082525479
guest_Dmitry
2004-04-21 09:31
2004.05.16
Изменить формулу вычисления поля Computed Source