Wiem ze jest gotowiec ale rozwiazanie Adama nie podoba mi sie (to opierajace sie na komunikatach).... Moze wiec ktos zna inne rozwiazanie problemu przyklejania okien do krawedzi ekranu? Tak jak w Winampie. Troche kombinowalem i zrobilem dla lewej i gornej krawedzi. Dla reszty nie moge bo ze soba koliduja.... POMOCY! (Border Style Formy bsNONE, na formie Panel, ktorym przesuwamy forme)

var
MD : Boolean;
P : TPoint;
KlejLewaKE, KlejGornaKE : Boolean;

procedure TForm1.Panel1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
MD := True;
P := Point(X,Y);
end;

if md then
begin
if not KlejLewaKE and not KlejPrawaKE then
begin
Left := Left + (X - P.X);
if Left 10 then KlejLewaKE := False;

if not KlejGornaKE then
  begin
    Top := Top + (Y - P.Y);
    if Top  10 then KlejGornaKE := False;

end;

procedure TForm1.Panel1MouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
MD := False;
end;