Inno Setup:ウィザードページでコントロールイベントをキャプチャする
-
02-07-2019 - |
質問
ユーザー定義のウィザードページでは、コントロールの変更イベントをキャプチャしたり、イベントをフォーカスしたりする方法はありますか?いくつかのドロップダウン(たとえば、メッセージボックス)でユーザー入力に関するフィードバックをすぐに提供したい
解決
それを解決するために少し時間を取りましたが、Othersideから正しい方向を示された後、私はついにそれを手に入れました(バージョン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のスクリプトは大まかにDelphiに基づいているため、コントロールには OnEnter
(=コントロールがフォーカスを取得)および OnExit
(=コントロールがフォーカスを失いました)のようなイベントが必要です。次のような手順をこれらのイベントに割り当てることができます。
ComboBox.OnExit:= ComboBoxExit;
procedure ComboBoxExit(Sender: TObject);
begin
end;
現在Innosetupにアクセスできないため、プロシージャで使用可能なイベントとパラメーターを検索する必要があります。
所属していません StackOverflow