2008-09-26 52 views

回答

4

我花了一些时间去解决它,但被指出了正确的方向后阿瑟赛德,我终于得到它(适用于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; 
+0

你可以添加创新安装的版本你正在使用这个代码?它看起来像版本5.我问这是因为我知道有关版本4和5之间的自定义页面有很多不同。 – Otherside 2008-10-02 13:00:24

2

由于innosetup中的脚本基于Delphi松散,因此控件应该有一些事件,如OnEnter(=控制焦点)和OnExit (=控制失去焦点)。您可以为这些事件分配过程,如下所示: ComboBox.OnExit:= ComboBoxExit;

procedure ComboBoxExit(Sender: TObject); 
begin 

end; 

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

相关问题