Главная страница
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.036 c
9-1072875306
Tagir
2003-12-31 15:55
2004.05.16
Кто знает хорошие статьи о glscene.


14-1082968229
}|{yk
2004-04-26 12:30
2004.05.16
XML + XPATH


3-1082092566
Litr
2004-04-16 09:16
2004.05.16
Изменение данных


7-1081237441
viperm
2004-04-06 11:44
2004.05.16
IDE current transfer mode


7-1080737806
Xtz
2004-03-31 16:56
2004.05.16
My ТoolBar on Internet Explorer????????????/