Otra posibilidad es capturando y tratando el mensaje
WM_WINDOWPOSCHANGING:
Pon esta linea en la parte private de la declaración de tu form:
Código:
type
TForm1 = class(TForm)
Button1: TButton;
Label1: TLabel;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
procedure Quieto(var m: TWMWINDOWPOSCHANGED); message
WM_WINDOWPOSCHANGING ;
{ Y luego, en la implementation pon este procedimiento: }
procedure Tform1.Quieto(var m : TWMWINDOWPOSCHANGED);
begin
m.windowpos.x := 200; {X/posición izquierda}
m.windowpos.y := 100; {Y/posoción derecha}
end;
En Cuanto al punto 1º de Román, yo también le ataría los pies, nunca se sabe.
Un Saludo.