Delphi XE2의FireMonkey 시작(27) - 데이터 바인딩:TBindingsList:TBindScope
1667 단어 Delphi
예시 구상: 세 개의 TEdit의 Text를 Tlabel에 연결합니다.
창에 Label1, Edit1, Edit2, Edit3, BindingsList1, BindScope1을 추가합니다.Edit1과 창의 기본 이벤트를 활성화합니다.
unit Unit1;
interface
uses
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.Layouts, FMX.Edit;
type
TForm1 = class(TForm)
Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit;
Label1: TLabel;
BindingsList1: TBindingsList;
BindScope1: TBindScope;
procedure FormCreate(Sender: TObject);
procedure Edit1Change(Sender: TObject);
end;
var
Form1: TForm1;
implementation
{$R *.fmx}
procedure TForm1.FormCreate(Sender: TObject);
begin
with TBindExpression.Create(BindingsList1) do
begin
ControlComponent := Label1;
ControlExpression := 'Text';
SourceComponent := BindScope1; // BindScope1 ,
SourceExpression := 'Format("%s,%s,%s", Edit1.Text, Edit2.Text, Edit3.Text)';
Active := True;
end;
BindScope1.Active := True; //
Edit2.OnChange := Edit1.OnChange;
Edit3.OnChange := Edit1.OnChange;
end;
procedure TForm1.Edit1Change(Sender: TObject);
begin
BindingsList1.Notify(Sender, '');
end;
end.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
[Delphi] TStringBuilder그리고 꼭 사용해야만 할까? 그림처럼 Heap 영역에 "Hello" 공간을 생성하고 포인팅을 한다. "Hello World" 공간을 새로 생성한 후 포인팅을 하게 된다. 결국 "Hello" 라는 String 객체가 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.