2013-10-22 41 views
0

我想添加一個複選框到ExitDialog以在安裝後啓動應用程序。我這樣做沒有問題,但後來我遇到了與其他人相同的問題 - 複選框和單選按鈕不支持透明度,所以我顯示的複選框由於背景位圖而具有難看的灰色邊框。更改Wix ExitDialog中的背景位圖

我見過幾個關於如何創建我自己的退出對話框的建議,將複選框與文本標籤組合在一起調整大小。我的想法是在ExitDialog中顯示一個不同的,更窄的背景位圖(僅此)。

在我可以看到,位圖是由控制源:

<Control Id="Bitmap" Type="Bitmap" X="0" Y="0" Width="370" Height="234" TabSkip="no" Text="!(loc.ExitDialogBitmap)" /> 

我的問題是如何與另一個位僅此對話框替代默認的位圖?

回答

2

Control元件的與一種類型的BitmapText屬性引用了一個Binary元件指向一個光柵圖形圖像文件的屬性Id。如果您查看UIExtension的源代碼(您使用的是我所假設的),則會發現!(loc.ExitDialogBitmap)解析爲WixUI_Bmp_Dialog。因此,您只需創建一個Binary元素,其Id屬性設置爲WixUI_Bmp_Dialog。不幸的是,Id被UIExtension中的7個其他對話框使用。

幸運的是,每個位圖的本地化字符串都是可覆蓋的。所以,你只需要在你的本地化文件中創建一個String元素是這樣的:

<String Id="ExitDialogBitmap">MyOwnExitBitmap</String> 

和相應的二進制元素:

<Binary Id="MyOwnExitBitmap" SourceFile="myOwnExit.bmp" /> 
+0

謝謝你 - 我取代了位圖。但是我狹窄的位圖(縮小以避免與複選框重疊)被拉伸以填充整個位圖控件,因此看起來不太好用。 所以我有一個額外的問題:是否有可能更改位圖控件的寬度? –

+0

由於寬度在源代碼中是固定的,因此您無法將其更改爲上面解決方案中的圖片。但是,您可以簡單地複製該對話框的源代碼,並根據寬度由您指定的對象創建一個對話框。然後你必須相應地排序它。但是,如果你走這條路線,你可能會做自己的整個UI,沒有擴展名... – BdN3504

+1

修正了它:-) 我做了一個正常大小的32位位圖,並在右側的透明度文本並顯示覆選框。 –