Inno Setup: Capture Control-Ereignisse in Assistentenseite
-
02-07-2019 - |
Frage
In einer benutzerdefinierten Seite des Assistenten ist es eine Möglichkeit, Veränderung zu erfassen oder Ereignisse der Kontrollen zu konzentrieren? Ich mag ein unmittelbares Feedback auf Benutzereingaben in einigen Dropdown-Listen zur Verfügung zu stellen (zum Beispiel eines Meldungsfeld)
Lösung
hatte mir einige Zeit, es zu trainieren, aber nach in der richtigen Richtung von Other darauf war, ich habe es endlich (funktioniert für Version 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;
Andere Tipps
Da das Skripting in ınnosetup lose auf Delphi basiert, sollten die Kontrollen einige Ereignisse wie OnEnter
haben (= Kontrolle geratenen Fokus) und OnExit
(= Kontrolle verloren Fokus). Sie können Prozeduren auf diese Ereignisse, so etwas wie dies zu:
ComboBox.OnExit: = ComboBoxExit;
procedure ComboBoxExit(Sender: TObject);
begin
end;
Ich habe keinen Zugriff gerade jetzt ınnosetup, so müssen Sie die verfügbaren Ereignisse und Parameter für die Verfahren zum Nachschlagen.