0

我正在我的 Wix 安装中创建一个自定义对话框。我的代码:

  <Binary Id="BannerBitmap" SourceFile="banner.bmp" />

  <Dialog Id="InstallDlg" Width="370" Height="270"
      Title="[ProductName] Setup" NoMinimize="yes">
    <Control Id="Install" Type="PushButton" X="304" Y="243" Width="56"
        Height="17" Default="yes" Text="[ButtonText_Install]">
      <Publish Event="EndDialog" Value="Return" />
    </Control>
    <Control Id="Banner" Type="Bitmap" X="0" Y="0" Width="370" Height="44"
        TabSkip="no" Text="BannerBitmap" />
    <Control Id="Description" Type="Text" X="25" Y="23" Width="280" Height="15"
        Transparent="yes" NoPrefix="yes">
      <Text>The [Wizard] is ready to begin the installation</Text>
    </Control>
    <Control Id="Text" Type="Text" X="25" Y="70" Width="320" Height="20">
      <Text>Click Install to begin the installation.</Text>
    </Control>
    <Control Id="BottomLine" Type="Line" X="0" Y="234" Width="370" Height="0" />
    <Control Id="Title" Type="Text" X="15" Y="6" Width="200" Height="15" Transparent="yes" NoPrefix="yes">
      <Text>{\DlgTitleFont}Ready to Install</Text>
    </Control>
    <Control Id="BannerLine" Type="Line" X="0" Y="44" Width="370" Height="0" />
  </Dialog>

问题是,就像您在代码中看到的那样,我的横幅有一个 witdh = 370 和高度 = 44,但是当我的对话框显示时,横幅显示为宽度 = 493 和高度 = 58。

看起来这不是一个严重的问题,但图像以拉伸模式呈现并且变得非常扭曲。

有谁知道为什么会发生这种情况或如何解决?

obs:我要点亮的命令行:

light.exe -sice:ICE20 SampleCustomUI1.wixobj
4

1 回答 1

2

Windows Installer 使用“安装程序单位”而不是像素甚至 Windows“对话框单位”。这允许对话框元素相对于它们可能包含的文本进行缩放。您可以计算出您的理想尺寸,但要意识到位图会在需要时进行缩放。

于 2013-08-14T19:58:06.837 回答