In Firemonkey coordinates of the mouse are not anytime relativ of the top / left pixel of the form.
You can use functions to convert them and simulate a sizegrip with code like this :
procedure TFenetre.btnRedimensionneMouseDown(Sender: TObject;
Button: TMouseButton; Shift: TShiftState; X, Y: Single);
begin
if (ssLeft in Shift) then
begin
deplacementX := X;
deplacementY := Y;
end;
end;
procedure TFenetre.btnRedimensionneMouseMove(Sender: TObject;
Shift: TShiftState; X, Y: Single);
begin
if (ssLeft in Shift) then
begin
Self.width := Self.width - deplacementX + X;
Self.height := Self.height - deplacementY + Y;
end;
end;
btnRedimensionne is a button, image or anything else used as gripsize control.
Add this in your class :
deplacementX, deplacementY: Single;
Those fields are used to calculate the mouvement (increase or decrease the size of the form/frame).