@Jazzman,
gern geschehen - und war auch keine große Mühe, weil das Standardroutinen aus meinen Projekten sind.
Was ich nicht erwähnt habe: Mit dem Clip-Cursor Teil kannst du auch recht einfach festlegen, daß der Button nur in einer Richtung bewegt werden kann.
Wenn z.B. nur eine horizontale Verschiebung möglich sein soll, dann ersetzt du in MouseDown die Zeilen
Delphi-Quellcode:
inc(r.Top,y);
dec(r.Bottom,Height-y);
durch
Delphi-Quellcode:
r.Top:=flastpos.y;
r.Bottom:=r.Top+1;