Inno Setup:ウィザードページでコントロールイベントをキャプチャする

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

  •  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にアクセスできないため、プロシージャで使用可能なイベントとパラメーターを検索する必要があります。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top