unit Unit1;interfaceuses System.SysUtils, System.Types, System.UITypes, System.Classes, System.Variants, FMX.Types, FMX.Controls, FMX.Forms, FMX.Dialogs, Data.Bind.EngExt, Fmx.Bind.DBEngExt, Data.Bind.Components, FMX.Edit;type TForm1 = class(TForm) TrackBar1: TTrackBar; Edit1: TEdit; Label1: TLabel; BindingsList1: TBindingsList; procedure FormCreate(Sender: TObject); procedure TrackBar1Change(Sender: TObject); end;var Form1: TForm1;implementation{$R *.fmx}procedure TForm1.FormCreate(Sender: TObject);begin {给 BindingsList1 添加表达式, 并设置参数} with TBindExpression.Create(BindingsList1) do begin ControlComponent := Edit1; //目标控件 ControlExpression := 'Text'; //目标控件属性 SourceComponent := TrackBar1; //源控件 SourceExpression := 'Value'; //源控件属性 Active := True; //激活; 可以通过 Active := False 断开绑定 end; with TBindExpression.Create(BindingsList1) do begin ControlComponent := Label1; ControlExpression := 'Text'; SourceComponent := TrackBar1; SourceExpression := 'Value'; Active := True; end;end;{在 TrackBar1 的 OnChange 中发送通知}procedure TForm1.TrackBar1Change(Sender: TObject);begin BindingsList1.Notify(Sender, ''); //这里也可以写作: BindingsList1.Notify(TrackBar1, 'Value');end;end.
5、重复步骤 2..4 同样设置 Label1ControlComponent : 'Edit1' ControlExpression: 'Text' SourceComponent : 'TrackBar1' SourceExpression : 'Value'
unit Unit1;interfaceuses System.SysUtils, System.Types, System.UITypes, System.Classes, System.Variants, FMX.Types, FMX.Controls, FMX.Forms, FMX.Dialogs, FMX.Edit;type TForm1 = class(TForm) TrackBar1: TTrackBar; Edit1: TEdit; Label1: TLabel; procedure FormCreate(Sender: TObject); procedure TrackBar1Change(Sender: TObject); end;var Form1: TForm1;implementation{$R *.fmx}uses System.Bindings.Expression, System.Bindings.Helper;procedure TForm1.FormCreate(Sender: TObject);begin TBindings.CreateManagedBinding( [TBindings.CreateAssociationScope([Associate(TrackBar1, 'Input1')])], 'Input1.Value', [TBindings.CreateAssociationScope([Associate(Edit1, 'Output1')])], 'Output1.Text', nil ); //其中的 Input1、Output1 都是随意的, 前后一致即可 TBindings.CreateManagedBinding( [TBindings.CreateAssociationScope([Associate(TrackBar1, 'Input1')])], 'Input1.Value', [TBindings.CreateAssociationScope([Associate(Label1, 'Output1')])], 'Output1.Text', nil );end;procedure TForm1.TrackBar1Change(Sender: TObject);begin TBindings.Notify(Sender, '');end;end.
联系客服