当XPStyle开启时,是否可以使Checkboxes背景透明?
以下简单代码可以使Checkbox背景透明,但仅限XPStyle设置为off。
在保持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
答案 0 :(得分:2)
我已经在您的其他一个问题中与bug report相关联。这可能是主题引擎和/或视觉样式中的限制/错误,并且要解决它,您可能必须创建一个插件,该子插件将复选框子类化并使用WM_PRINT或类似的东西对位图执行绘制...