문제
사용자 정의 마법사 페이지에서 컨트롤의 변경 또는 초점 이벤트를 캡처하는 방법이 있습니까? 일부 드롭 다운에서 사용자 입력에 대한 즉각적인 피드백을 제공하고 싶습니다 (예 : 메시지 상자).
해결책
시간이 좀 걸렸지 만 다른 사람들이 올바른 방향으로 향한 후 마침내 그것을 얻었습니다 (버전 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에 액세스 할 수 없으므로 절차에 사용 가능한 이벤트 및 매개 변수를 조회해야합니다.
제휴하지 않습니다 StackOverflow