2

在用户定义的向导页面中,有没有办法捕获控件的更改或焦点事件?我想在某些下拉菜单(例如消息框)中提供有关用户输入的即时反馈

4

2 回答 2

4

我花了一些时间来解决它,但在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;
于 2008-10-01T13:44:34.387 回答
2

由于 innosetup 中的脚本大致基于 Delphi,因此控件应该具有一些事件,例如OnEnter(= control got focus) 和OnExit(= control lost focus)。您可以将过程分配给这些事件,如下所示: ComboBox.OnExit := ComboBoxExit;

procedure ComboBoxExit(Sender: TObject);
begin

end;

我现在无法访问 Innosetup,因此您需要查找程序的可用事件和参数。

于 2008-09-26T13:10:25.900 回答