2013-09-23 256 views
1

我有使用TInputQueryWizardPage的安裝腳本。我如何增加此頁面的高度?例如,如果我有這個...Inno Setup Set TInputQueryWizardPage Height

procedure InitializeWizard; 
begin 
    MyPage := CreateInputQueryPage(wpReady, 
    'Some Information', 'Enter Information', 
    'Enter information, then click Next.'); 
    MyPage.Add('info1', False); 
    MyPage.Add('info2', False); 
    MyPage.Add('info3', False); 
    MyPage.Add('info4', False); 
    MyPage.Add('info5', False); 

    MyPage.Values[0] := GetPreviousData('info1', ''); 
    MyPage.Values[1] := GetPreviousData('info2', ''); 
    MyPage.Values[2] := GetPreviousData('info3', ''); 
    MyPage.Values[3] := GetPreviousData('info4', ''); 
    MyPage.Values[4] := GetPreviousData('info5', ''); 
end; 

...然後上次編輯框是不可見的,因爲它不適合在窗體上。

謝謝您的時間

+0

在我看來,這種行爲應該被處理'TInputQueryWizardPage',或者更好的是通過'TWizardPage'祖先。不幸的是,我找不到任何像控件一樣的滾動框,所以在可滾動控件上重新輸入標籤和編輯並不是一種選擇(但也許我錯過了這一點)。我會考慮什麼是某種['collapsable panel'](http://www.ibm.com/developerworks/library/j-richfaces4/rfCollapsiblePanel.jpg),或者移動這些標籤並進行編輯以適合頁面表面。 – TLama

+0

到目前爲止我無法找到解決方案。臨時我創建了兩個輸入查詢頁面,第一頁上有4個編輯框,第二頁上有兩個編輯框。 –

+0

我可以用兩種建議的解決方案來幫助你。我還沒有測量後者是否有足夠的空間看起來很好。只要告訴哪一個你更喜歡,我會嘗試發佈一個相關的腳本。在我看來,移動控件更容易,更方便用戶使用... – TLama

回答

5

由於嚮導頁面本身不支持滾動條並沒有帶滾動條的支持沒有容器控件,我建議你到那些編輯字段與它們對應的標籤上移。你有5個這是最大的,如果你顯示一個子標題,看起來好像對我來說看起來不錯。下面的腳本顯示瞭如何通過在OffsetPixels常數指定數量的像素上移的項目:

[Setup] 
AppName=My Program 
AppVersion=1.5 
DefaultDirName={pf}\My Program 

[Code] 
const 
    OffsetPixels = 11; 

var 
    MyPage: TInputQueryWizardPage; 

procedure OffsetPageItem(Page: TInputQueryWizardPage; Index, 
    Offset: Integer); 
begin 
    Page.Edits[Index].Top := Page.Edits[Index].Top + Offset; 
    Page.PromptLabels[Index].Top := Page.PromptLabels[Index].Top + 
    Offset; 
end; 

procedure InitializeWizard; 
var 
    Index: Integer; 
begin 
    MyPage := CreateInputQueryPage(wpWelcome, 'Caption', 
    'Description', 'SubCaption'); 

    Index := MyPage.Add('info1', False); 
    Index := MyPage.Add('info2', False); 
    OffsetPageItem(MyPage, Index, -Index * OffsetPixels); 
    Index := MyPage.Add('info3', False); 
    OffsetPageItem(MyPage, Index, -Index * OffsetPixels); 
    Index := MyPage.Add('info4', False); 
    OffsetPageItem(MyPage, Index, -Index * OffsetPixels); 
    Index := MyPage.Add('info5', False); 
    OffsetPageItem(MyPage, Index, -Index * OffsetPixels); 
end; 

而且截圖:

enter image description here

+0

你是否以某種方式解決了你的問題?我很欣賞任何反饋... – TLama

+1

嗨,非常感謝你的詳細解釋。我接受的答案不是解決我的問題,而是解釋爲什麼我不能做我想要的。 「由於嚮導頁面本身不支持滾動條,並且沒有支持滾動條的容器控件,所以我建議您將這些編輯字段向上移動相應的標籤。」我通過創建兩個帶有4個編輯框的輸入查詢頁來解決我的問題。 –