これら2つのイベントは、Tracking
が有効になっている場合(デフォルト)は同じことを行います。 OnChange
は、ユーザーが終了した後にのみ起動されるように、Tracking
を無効にします。
は、ここで私が何を意味するか表示する簡単なデモです:
unit Unit1;
interface
uses
System.SysUtils, System.Types, System.UITypes, System.Classes, System.Variants,
FMX.Types, FMX.Controls, FMX.Forms, FMX.Graphics, FMX.Dialogs, FMX.StdCtrls,
FMX.Controls.Presentation;
type
TForm1 = class(TForm)
TrackBar1: TTrackBar;
lblChange: TLabel;
lblTrack: TLabel;
procedure TrackBar1Change(Sender: TObject);
procedure TrackBar1Tracking(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
FChangeCount: Integer;
FTrackCount: Integer;
public
procedure DoUpdate;
end;
var
Form1: TForm1;
implementation
{$R *.fmx}
procedure TForm1.DoUpdate;
begin
lblChange.Text:= 'Changes: '+IntToStr(FChangeCount);
lblTrack.Text:= 'Tracking: '+IntToStr(FTrackCount);
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
FChangeCount:= 0;
FTrackCount:= 0;
DoUpdate;
end;
procedure TForm1.TrackBar1Change(Sender: TObject);
begin
Inc(FChangeCount);
DoUpdate;
end;
procedure TForm1.TrackBar1Tracking(Sender: TObject);
begin
Inc(FTrackCount);
DoUpdate;
end;
end.
そしてFMXファイル:
object Form1: TForm1
Left = 0
Top = 0
Caption = 'Form1'
ClientHeight = 480
ClientWidth = 640
FormFactor.Width = 320
FormFactor.Height = 480
FormFactor.Devices = [Desktop]
OnCreate = FormCreate
DesignerMasterStyle = 0
object TrackBar1: TTrackBar
CanParentFocus = True
Orientation = Horizontal
Position.X = 112.000000000000000000
Position.Y = 96.000000000000000000
Size.Width = 217.000000000000000000
Size.Height = 19.000000000000000000
Size.PlatformDefault = False
TabOrder = 0
Tracking = False
OnChange = TrackBar1Change
OnTracking = TrackBar1Tracking
end
object lblChange: TLabel
Position.X = 112.000000000000000000
Position.Y = 152.000000000000000000
Text = 'lblChange'
end
object lblTrack: TLabel
Position.X = 112.000000000000000000
Position.Y = 200.000000000000000000
Text = 'lblTrack'
end
end
あなたは 'Tracking'を無効にすることを試みたことがありますか?彼らはもう同じことをしません... –