Inno Setup: cattura gli eventi di controllo nella pagina della procedura guidata

StackOverflow https://stackoverflow.com/questions/139358

  •  02-07-2019
  •  | 
  •  

Domanda

In una pagina della procedura guidata definita dall'utente, c'è un modo per acquisire cambiamenti o focalizzare gli eventi dei controlli? Desidero fornire un feedback immediato sull'input dell'utente in alcuni menu a discesa (ad esempio una finestra di messaggio)

È stato utile?

Soluzione

Mi ci è voluto un po 'di tempo per risolverlo, ma dopo essere stato indicato nella direzione giusta da Altri, l'ho finalmente ottenuto (funziona per la versione 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;

Altri suggerimenti

Poiché lo scripting in innosetup è vagamente basato su Delphi, i controlli dovrebbero avere alcuni eventi come OnEnter (= control got focus) e OnExit (= control lost focus) . È possibile assegnare procedure a questi eventi, in questo modo:     ComboBox.OnExit: = ComboBoxExit;

procedure ComboBoxExit(Sender: TObject);
begin

end;

Non ho accesso a Innosetup in questo momento, quindi dovrai cercare gli eventi e i parametri disponibili per le procedure.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top