Rapunzel
-
Content Count
2 -
Joined
-
Last visited
Posts posted by Rapunzel
-
-
Hello,
you are right, I can reproduce the issue. I used a listbox to record the IsPressed status in three events. If you click quickly, you can see that the status in OnClick has not changed yet. You can use the OnMouseUp event instead.
procedure TForm4.btnSpecialOnlyMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Single); begin if btnSpecialOnly.IsPressed then begin LB.Items.Add('MouseDown TRUE'); end else begin LB.Items.Add('MouseDown FALSE'); end; end; procedure TForm4.btnSpecialOnlyClick(Sender: TObject); begin Label1.Text:=FCount.ToString; Inc(FCount); if btnSpecialOnly.IsPressed then begin LB.Items.Add('Click TRUE'); end else begin LB.Items.Add('Click FALSE'); end; end; procedure TForm4.btnSpecialOnlyMouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Single); begin if btnSpecialOnly.IsPressed then begin LB.Items.Add('MouseUp TRUE'); end else begin LB.Items.Add('MouseUp FALSE'); end; end;
TArcDial behavior
in FMX
Posted
I would capture from the TArcDial only the change (OnChange) and its direction in relation to the last value and program the rest myself. The first change after MouseDown I would discard, so that it comes to no spontaneous jumps of your display and use this value as start value.