Inno Setup设置TInputQueryWizardPage高度

时间:2013-09-23 19:23:55

标签: height installation inno-setup

我有使用TInputQueryWizardPage的安装脚本。如何增加此页面的高度?例如,如果我有这个......

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;

...然后最后一个编辑框不可见,因为它无法放在表单上。

感谢您的时间

1 个答案:

答案 0 :(得分: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