2013-09-23 214 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个编辑框的输入查询页来解决我的问题。 –