Hola Lepe:
No he tenido tiempo de probar nada de lo que me dices, pero probablemente sea otra forma de hacerlo.
Cita:
Empezado por Lepe
la "Segunda sorpresa" puede ser por tener activada la opción "Align To Grid" en las opciones de Delphi.
|
No creo que sea ese el motivo. En cualquier caso habrá que tenerlo en cuenta.
Por cierto, probando el componente he visto que en el evento Create hay que inicializar las variables FTickCountTop y FTickCountLeft a 0, de lo contrario, al crearse el componente toma los valores 0 para Top y Left en la respuesta al mensaje WM_MOVE.
Código Delphi
[-]
Constructor TComponenteA.Create(AOwner: TComponent);
Begin
Inherited Create(AOwner);
FTop:=Top;
FLeft:=Left;
FTickCountTop:=0;
FTickCountLeft:=0;
End;