GroupBox, RadioButton, CheckBox, Slider opaque over window backdrop picture

OS: Windows 8

Xojo: Xojo 2015r1

Steps: Run the attached project. These controls instead of being transparent take the color of the window background. When no backdrop picture is used, it looks transparent, but over a picture it looks terrible.

On Mac, these controls are transparent.

Labels can be made transparent with the transperent property, but it is not available for these controls. A workaround is possible for GroupBox with a label, but for Slider, RadioButtons and Checkboxes, it is impossible.

I remember seing this in the forum before about GroupBox, but apparently no bug report was filed.

<https://xojo.com/issue/38838>

I don’t have access to Windows at the moment, but what would happen if you put the controls on a canvas?

That’s normal. Win32 controls don’t support full transparency. If the controls were custom painted (like QT, Swing, .NET) we wouldn’t have this issue.

Same punishment.

I am not so sure. According to Msdn there are properties that look very much like they do have opacity settings inherited from UIElement :
https://msdn.microsoft.com/en-us/library/system.windows.controls.checkbox(v=vs.110).aspx
Opacity Gets or sets the opacity factor applied to the entire UIElement when it is rendered in the user interface (UI). This is a dependency property. (Inherited from UIElement.)
Public property
OpacityMask Gets or sets an opacity mask, as a Brush implementation that is applied to any alpha-channel masking for the rendered content of this element. This is a dependency property. (Inherited from UIElement.)

From what I see in VB, the bug does not manifest there. It should be fixed.

BTW, just as labels should be transparent by default, as they do in Mac and Linux, and not opaque.

Did you file a bug report?

[quote=178590:@Michel Bujardet]I am not so sure. According to Msdn there are properties that look very much like they do have opacity settings inherited from UIElement :
https://msdn.microsoft.com/en-us/library/system.windows.controls.checkbox(v=vs.110).aspx
Opacity Gets or sets the opacity factor applied to the entire UIElement when it is rendered in the user interface (UI). This is a dependency property. (Inherited from UIElement.)
Public property
OpacityMask Gets or sets an opacity mask, as a Brush implementation that is applied to any alpha-channel masking for the rendered content of this element. This is a dependency property. (Inherited from UIElement.)

From what I see in VB, the bug does not manifest there. It should be fixed.

BTW, just as labels should be transparent by default, as they do in Mac and Linux, and not opaque.[/quote]

The thing is that the link you posted is for the checkbox of the .NET framework.
Last time I checked the .NET framework has double buffering for the controls, custom paint support, and plenty of other features like transparency. Win32 has no support for these natively.

Oh and the Xojo label, is just a canvas with DrawString, it is not a native control on Windows and the other OSs.

See top of this thread :wink:

[quote=178595:@Ashot Khachatryan]The thing is that the link you posted is for the checkbox of the .NET framework.
Last time I checked the .NET framework has double buffering for the controls, custom paint support, and plenty of other features like transparency. Win32 has no support for these natively.[/quote]

Besides showing the now shouting backward state of Xojo regarding implementation of .NET, if indeed Win32 cannot manage transparency for all these controls, that should not prevent Xojo for making them consistent accross platforms. Or to fix the GroupBox issue which does look very much like a bug, since the rest of the control is transparent.

Evidently, the workaround is to create custom controls, not that difficult. But it would be nice if Windows Xojo controls were a bit less crude.

It should precisely be transparent as default, like any Canvas. I do not understand why it was made opaque as default just in Windows. It is not consistent at all with what happens on the other two platforms. And probably not out of this world to fix.