如何捕获文本框值的更改?
我正在研究如何使用OnChange
事件函数,但我不知道如何使用它。
[Code]
var
Page: TInputQueryWizardPage;
procedure InitializeWizard();
begin
Page := CreateInputQueryPage(wpWelcome,
'Personal Information', 'Who are you?',
'Please specify your name and the company for whom you work, then click Next.');
Page.Add('Server:', False);
Page.Add('NAME:', False);
Page.Add('LOCATION:', False);
Page.Values[0] := ('test0');
Page.Values[1] := ('test1');
Page.Values[2] := ('string')+Page.Values[0]+('string')+Page.Values[1];
end;
答案 0 :(得分:1)
处理OnChange
事件,例如:
var
Page: TInputQueryWizardPage;
procedure EditChange(Sender: TObject);
begin
Page.Values[2] := 'string' + Page.Values[0] + 'string' + Page.Values[1];
end;
procedure InitializeWizard();
begin
Page := CreateInputQueryPage(...);
Page.Add('Server:', False);
Page.Add('NAME:', False);
Page.Add('LOCATION:', False);
Page.Values[0] := 'test0';
Page.Values[1] := 'test1';
Page.Edits[0].OnChange := @EditChange;
Page.Edits[1].OnChange := @EditChange;
{ Reflect the initial values }
EditChange(nil);
end;
请注意,用户可以更改Edit[2]
,因此您可能希望将其设置为只读。
Page.Edits[2].ReadOnly := True;
Page.Edits[2].Color := clBtnFace;
或者您实际上可能想要使用TLabel
。