문제

사용자 정의 마법사 페이지에서 컨트롤의 변경 또는 초점 이벤트를 캡처하는 방법이 있습니까? 일부 드롭 다운에서 사용자 입력에 대한 즉각적인 피드백을 제공하고 싶습니다 (예 : 메시지 상자).

도움이 되었습니까?

해결책

시간이 좀 걸렸지 만 다른 사람들이 올바른 방향으로 향한 후 마침내 그것을 얻었습니다 (버전 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;

다른 팁

innosetup의 스크립팅은 델파이를 기반으로 느슨하게 이루어 지므로 컨트롤에는 다음과 같은 이벤트가 있어야합니다. OnEnter (= 제어는 초점을 맞췄습니다) 및 OnExit (= 제어 손실 초점). 다음과 같은 이벤트에 절차를 할당 할 수 있습니다. combobox.onexit : = comboboxexit;

procedure ComboBoxExit(Sender: TObject);
begin

end;

지금은 innosetup에 액세스 할 수 없으므로 절차에 사용 가능한 이벤트 및 매개 변수를 조회해야합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top