Как сделать фон флажка прозрачным в wix?

Как сделать фон флажка прозрачным или белым?

3 ответа

Решение

Это довольно распространенная жалоба. Быстрый ответ - нет, нет способа сделать это красиво. Позвольте мне процитировать учебник WiX Toolset:

И распространенная жалоба: нет, флажок не может иметь прозрачного фона. Если у вас есть растровое изображение на заднем плане, оно будет ужасным, как в нашем примере выше. Единственный обходной путь - уменьшить ширину флажка до самого поля и разместить рядом с ним дополнительный статический текст (их можно сделать прозрачным).

Недостатком описанного обходного пути является то, что вы не сможете щелкнуть текст в метке, чтобы установить / снять флажок. Вам нужно будет нажать прямо в элемент управления.

Однако есть еще один (еще более уродливый) обходной путь: спроектируйте последний диалог так, чтобы по умолчанию была серая область для установки флажка.

Обходной путь, который я использовал, - это создать новую версию встроенного набора диалогов WiX "Mondo", где я изменяю конечный диалог, чтобы он содержал гораздо меньшее изображение, которое не покрывает всю поверхность диалогового окна. Это должно позволить естественному цвету фона - обычно серому - заполнить остальную часть диалогового окна. Снимок экрана ниже:

https://github.com/glytzhkof/WiXOpenLogFile

Могут быть побочные эффекты, но это должно позволить цвету фона диалогового окна правильно заполнить диалоговое окно:

Основной фрагмент файла wxs:

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

Фрагмент файла диалогового окна wxs:

       <Control Id="Bitmap" Type="Bitmap" X="0" Y="0" Width="70" Height="70" TabSkip="no" Text="MyOwnExitBitmap" />

См. Полный пример выше на github.com.

Не прямой ответ, а просто еще один обходной путь, который в некоторых случаях может подойти. Если это всего лишь один флажок, например, запустить приложение/readme/что угодно, то его можно поместить на панель кнопок с таким же фоном:

Другие вопросы по тегам