0

XPStyle 打开时是否可以使复选框背景透明?

以下简单代码可以使复选框背景透明,但前提是 XPStyle 设置为关闭。

有没有办法在保持 XPStyle 开启的同时让复选框的背景透明?我真的希望如此,否则我有很大的问题。我对真正的想法持开放态度,无论他们多么参与。

如果没有办法,是否可以改变复选框背景的不透明度 - 也许我可以让它稍微透明(50%)?

!include "LogicLib.nsh"
!include "MUI2.nsh"
!include WinMessages.nsh

OutFile "abc.exe"
Page Custom CustomPageInitialise

XPStyle on

Function CustomPageInitialise
    nsDialogs::Create 1018
    Pop $0
    SetCtlColors $0 0xFF0000 0x00FF00

    ${NSD_CreateCheckbox} 25u 20u 100% 20u "Version 8"
    Pop $1
    SetCtlColors $1 0xFF0000 transparent                        # Set tranparent color for control 
    ${NSD_AddExStyle} $1 ${WS_EX_TRANSPARENT}|${WS_EX_TOPMOST}  # Add special style 

    nsDialogs::Show
FunctionEnd

Section dummy
SectionEnd
4

1 回答 1

2

我已经在您的其他问题之一中链接到有关此问题的错误报告。这可能是主题引擎和/或视觉样式中的限制/错误,要解决它,您可能必须创建一个插件,将复选框子类化并使用 WM_PRINT 或类似的东西对位图执行绘画......

于 2012-05-23T08:03:46.003 回答