2

ユーザー定義のウィザードページで、コントロールの変更またはフォーカスイベントをキャプチャする方法はありますか?いくつかのドロップダウン(メッセージボックスなど)でユーザー入力に関するフィードバックをすぐに提供したい

4

2 に答える 2

4

それを解決するのに少し時間がかかりましたが、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;
于 2008-10-01T13:44:34.387 に答える
2

innosetupのスクリプトは大まかにDelphiに基づいているため、コントロールにはOnEnter(=コントロールがフォーカスを取得した)やOnExit(=コントロールがフォーカスを失った)などのイベントが必要です。次のように、これらのイベントにプロシージャを割り当てることができます。ComboBox.OnExit:= ComboBoxExit;

procedure ComboBoxExit(Sender: TObject);
begin

end;

現在、Innosetupにアクセスできないため、プロシージャで使用可能なイベントとパラメータを検索する必要があります。

于 2008-09-26T13:10:25.900 に答える