Pergunta

Em um usuário definido página do assistente, existe uma maneira de mudar captura ou eventos foco dos controles? Eu quero dar um feedback imediato sobre a entrada do usuário em alguns menus suspensos (por exemplo, uma caixa de mensagem)

Foi útil?

Solução

Levei algum tempo para resolvê-lo, mas depois de ser apontado na direção certa por Otherside, eu finalmente consegui-lo (obras para a versão 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;

Outras dicas

Uma vez que o script em InnoSetup é vagamente baseado em Delphi, os controles devem ter alguns eventos como OnEnter (= controle tem foco) e OnExit (= controle de foco perdido). Você pode atribuir procedimentos a esses eventos, algo como isto: ComboBox.OnExit: = ComboBoxExit;

procedure ComboBoxExit(Sender: TObject);
begin

end;

Eu não tenho acesso a InnoSetup agora, então você terá de pesquisar os eventos disponíveis e parâmetros para os procedimentos.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top