Показать сообщение отдельно
  #2  
Старый 22.02.2008, 12:10
Аватар для XIO
XIO XIO вне форума
Новичок
 
Регистрация: 06.12.2007
Сообщения: 77
Репутация: 32
По умолчанию

Можно попробовать вот так:
(если прокатит)
Код:
function ReceivePoint: TPoint;
 Function SomeName(X,Y:integer):Variant;
  begin
    SomeName := Point(X, Y);
    SetTimer(Handle, FKeyId_TranslocateIn,
       const_def_DELAYTRANSLOCATEIN, FlpTimerFunc);
  end;
 begin
   if X < 0 then
   begin
     Result := SomeName(-1, 0);
   end
   else
   if Y < 0 then
   begin
     Result := SomeName(0, -1);
   end
   else
   if (X > FDownCtrl.Width -
       TCustomRangeBar(FDownCtrl.ScrollBars.Slave).Width) then
   begin
     Result := SomeName(1,  0);
   end
   else
   if (Y > FDownCtrl.Height -
        TCustomRangeBar(FDownCtrl.ScrollBars.Master).Height) then
   begin
     Result := SomeName(0,  1);
   end
   else
   begin
     KillTimer(Handle, FKeyId_TranslocateIn);
   end;
 end;

Но по большому счету это оптимизация структуры самого кода. На быстродействие врят ли как то повлияет....
__________________
"Люди никогда не видят то, существование чего им кажется невозможным." ©Терри Пратчетт
Ответить с цитированием