Inno Setup:在向导页面中捕获控制事件
时间:2020-03-06 14:46:56 来源:igfitidea点击:
在用户定义的向导页面中,是否可以捕获控件的更改或者焦点事件?我想在某些下拉菜单(例如消息框)中提供有关用户输入的即时反馈
解决方案
由于innosetup中的脚本大致基于Delphi,因此控件应具有一些事件,例如" OnEnter"(=控件获得焦点)和" OnExit"(=控件失去焦点)。我们可以为这些事件分配过程,如下所示:
ComboBox.OnExit:= ComboBoxExit;
procedure ComboBoxExit(Sender: TObject); begin end;
我现在无权访问Innosetup,因此我们将需要查找过程的可用事件和参数。
花了我一些时间解决这个问题,但是在其他方面指出正确的方向之后,我终于明白了(适用于5.2版):
[Code] var MyCustomPage : TWizardPage; procedure MyEditField_OnChange(Sender: TObject); begin MsgBox('TEST', mbError, MB_OK); end; function MyCustomPage_Create(PreviousPageId: Integer): Integer; var MyEditField: TEdit; begin MyCustomPage := CreateCustomPage(PreviousPageId, 'Caption', 'Description'); MyEditField := TEdit.Create(MyCustomPage); MyEditField.OnChange := @MyEditField_OnChange; end;