在用户定义的向导页中,有没有办法捕获控件的更改或焦点事件?我想在某些下拉菜单(例如消息框)中提供有关用户输入的即时反馈
花了我一些时间来解决这个问题,但在被 Otherside 指出正确的方向后,我终于明白了(适用于 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;
由于 innosetup 中的脚本松散地基于 Delphi,因此控件应该有一些事件,例如 OnEnter
(= 控件获得焦点)和OnExit
(= 控件失去焦点)。 您可以为这些事件分配过程,如下所示: ComboBox.OnExit := ComboBoxExit;
procedure ComboBoxExit(Sender: TObject);
begin
end;
我现在无法访问 Innosetup,因此您需要查找程序的可用事件和参数。