2013-03-27 84 views
0

我正在使用Inno Setup V5,這是我可以下載的最新版本。我有一個非常堅實的安裝腳本開發。我將alwaysreboot設置爲true,但如果他選擇稍後重新啓動,則需要向用戶顯示一個消息框。如何捕捉單選按鈕狀態。我沒有時間完全替代我需要快速完成的wpFinished頁面,所以如果這是唯一的方法,那麼我會稍後再做,並且即使他正在重新啓動也會接受警告。 感謝您的幫助。在inno設置中捕獲wpFinished(非定製)中的單選按鈕狀態

斯科特Beckstead

回答

0

我認爲最好是檢查wpFinished頁單選按鈕的狀態,當用戶單擊完成:

function NextButtonClick(CurPageID: Integer): Boolean; 
begin 
    if(CurPageID = wpFinished) then 
    begin 
    // User clicked Finish on Finish page, check state of radio buttons 
    if(WizardForm.NoRadio.Checked = True) then 
     MsgBox('User selected Reboot Later.', mbInformation, MB_OK); 
    end; 

    Result := True; // Move to next page 
end; 

(未測試,我寫了這個從我的頭)

如果您想立即響應用戶操作,您需要使用OnClick事件(TNotifyEvent):

編寫您的處理程序:

procedure ClickEvent(Sender : TObject); 
begin 
    // Do something here... 
end; 

分配Click事件(在InitializeWizard()或任何其他程序):

WizardForm.YesRadio.OnClick := @ClickEvent; 
or 
WizardForm.NoRadio.OnClick := @ClickEvent;