From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Text Background Transparency setting doesn't work on most Silver & NXG controls

Solved!
Go to solution

I was looking at updating from the Modern controls to the Silver palette on an existing project, but discovered a feature of the Modern controls that is heavily used in this project - setting a control text background to transparent (which I then put a boolean behind that is either white or red, used to indicate a value that needs attention) - is not working on either the Silver or NXG Controls in the version of LabVIEW I'm using (2019 SP1 x64). I presume this is a bug?

 

I've attached example code, but here's a screen capture:

 

ErikL68_2-1623706450094.png

 

Note all controls are set to have a transparent text background, but only the buttons work in all three palettes (Modern, Silver, and NXG - and Silver only "works" if that shading on the button is acceptable - personally I'm okay with it, though it would be nice to have a Property available to remove it), and only the Modern palette has all controls work (button, textbox, numeric, and enum). It's also curious that Silver goes gray (and it stays gray if I change the window background to another color as you can see) while the NXGs go white.

 

Given the fancier design of the Silver tools, I wasn't too surprised it didn't work, but the NXG tools are as simple as the Modern (even more so IMHO), so those not working was a surprise.

 

Any chance this is a known bug that will get fixed any time soon? Or is this just how all newer LabVIEW controls will be working?

 

Thanks,

Erik

 

 

 

0 Kudos
Message 1 of 23
(1,725 Views)

I tried a few NXG and they seem to work OK:

 

altenbach_0-1623712619429.png

 

0 Kudos
Message 2 of 23
(1,687 Views)

Thanks, Altenbach!

 

What version of LV is that in?  Or were you using NXG? Did you try my VI?

 

Thanks,

Erik

0 Kudos
Message 3 of 23
(1,636 Views)

Hi Erik,

 


@ErikL68 wrote:

Note all controls are set to have a transparent text background, but only the buttons work in all three palettes


Did you just set the "text background color" - or do you also set the background color of the control itself?

These are two different color properties…

Best regards,
GerdW


using LV2016/2019/2021 on Win10/11+cRIO, TestStand2016/2019
0 Kudos
Message 4 of 23
(1,633 Views)

Hi GerdW,

 

I set it using the palette, as once set to Transparent, I never touch it again. This works with the Modern controls and with the buttons (though only somewhat with the Silver button thanks to the shading feature). I also tried the "Colors[4]" property (sending an array of 4 elements, with the "BG Color" set to "T" in the colorbox) for the Silver button, even extending that array size to 8 to see if it had an undocumented affect (I was hoping to find a way to remove that "shadow" over the button). I've also tried the "RingText.BGColor" for the Enums, "Text.BGColor" for the Strings, and "NumText.BGColor" for the numerics, but no luck.

 

You say there's a different color property than the Text Background color to color the text background?  Why? And where is it found, as it's not visible in the Properties palette that I can find, and I do have the options "Show VI Scripting functions, properties and methods" and "Display additional VI Scripting info..." checked under Options-->VI Server, so no properties should be hidden (AFAIK).

 

Thanks,

Erik

 

0 Kudos
Message 5 of 23
(1,622 Views)

@ErikL68 wrote:

Hi GerdW,

 

I set it using the palette, as once set to Transparent, I never touch it again. This works with the Modern controls and with the buttons (though only somewhat with the Silver button thanks to the shading feature). I also tried the "Colors[4]" property (sending an array of 4 elements, with the "BG Color" set to "T" in the colorbox) for the Silver button, even extending that array size to 8 to see if it had an undocumented affect (I was hoping to find a way to remove that "shadow" over the button). I've also tried the "RingText.BGColor" for the Enums, "Text.BGColor" for the Strings, and "NumText.BGColor" for the numerics, but no luck.

 

You say there's a different color property than the Text Background color to color the text background?  Why? And where is it found, as it's not visible in the Properties palette that I can find, and I do have the options "Show VI Scripting functions, properties and methods" and "Display additional VI Scripting info..." checked under Options-->VI Server, so no properties should be hidden (AFAIK).

 

Thanks,

Erik

 


Note that for System and NXG booleans, the "Colors[4]" property has 6 elements:
[0] False
[1] True
[2] T -> F
[3] F -> T
[4] F (rollover)
[5] T (rollover)

"If you weren't supposed to push it, it wouldn't be a button."
0 Kudos
Message 6 of 23
(1,600 Views)

Hi Erik,

 


@ErikL68 wrote:

You say there's a different color property than the Text Background color to color the text background?


Im sorry, I was mixing this up with array/clusters where you need to set the background color of the (array/cluster) box, too…

Best regards,
GerdW


using LV2016/2019/2021 on Win10/11+cRIO, TestStand2016/2019
0 Kudos
Message 7 of 23
(1,567 Views)

Hi Gerd,

 


@GerdW wrote:

Hi Erik,

 


@ErikL68 wrote:

You say there's a different color property than the Text Background color to color the text background?


Im sorry, I was mixing this up with array/clusters where you need to set the background color of the (array/cluster) box, too…


Ah! I'm assuming the need to set the container control to transparent is only if the Boolean is behind that "parent" control (cluster or array) as well, yes?  As it is, my system has Modern controls working in clusters (that are a strict TypeDef) that are in turn in an array, but the Booleans are in the cluster. I do this system of putting a Boolean Red/White LED behind a transparent control to show users when a reading is out of spec, or a calibration parameter has changed (and changes need saving back to file, which then triggers more activity, or aborting by reloading the last values from file before they can leave the Cal pages). 

 

Normal:

ErikL68_2-1623851641074.png

 

 

With a changed parameter (changed param gets red background, save/reload buttons change to hi-vis colors to highlight them, tabs change color due to being disabled):

ErikL68_3-1623851658443.png

 

 

I was hoping to update these to Silver controls, which is when I found the issue.

 

I'm hoping altenbach gets back with more info on how he got the NXG controls to work, or someone else to chime in. I'll then try that solution on the Silver palette, though I might just skip ahead to NXG controls in prep for transitioning to NXG.

 

Regards,

Erik

0 Kudos
Message 8 of 23
(1,555 Views)

Those NXG controls have two components in front of the control background, the text and the frame.  When you set the text background to transparent you then see the frame color behind it.  To change the frame color you right-click the control and select Advanced->Customize.  Click on the wrench button to change to customize mode (the tweezers).  If not visible, choose Show Parts Window from the Window menu.  You can either use the pict ring of the Parts Window to select the Frame and then change its color, or you can drag the text area out of the way, change the frame color and then put the text area back.

0 Kudos
Message 9 of 23
(1,544 Views)

Hi Darin,

 

Good to know, but I actually want to see the frame outline. It's the background I want to go transparent so a control placed behind it can "color" the background of these controls where the control is in an array, so otherwise can't have it's background changed on a per-element level.

Thanks,
Erik

0 Kudos
Message 10 of 23
(1,541 Views)