LabVIEW Idea Exchange

cancel
Showing results for 
Search instead for 
Did you mean: 
TheQ

Allow Panel Background Color to be Transparent

Status: New

I would like to have the ability to make a Front Panel background transparent without making the whole window transparent (where the later is currently possible through property nodes).  This one item would expand the UI possibilities.  It would allow for the creation of Front Panels that seem to be borderless similar to many splash screens, about screens, and gadgets.  Below are some industry examples:

 

Adobe X.png

Adobe Splash Screen (No border, has shadow, not square)

 

Microsoft.png

  Microsoft Word 2010 Splash Screen (No border, rounded corners)

 

Meter.png

 Resource Meter Windows Gadget (No border, specialized graphic)

 

Windows Media Center.png

Windows Media Center Gadget (Empty-transparent space between two UI elements)

Quentin "Q" Alldredge

Chief LabVIEW Architect, Testeract | Owner, Q Software Innovations, LLC (QSI)
Director, GCentral | Admin, LabVIEW Wiki | Creator, The QControl Toolkit
Certified LabVIEW Architect | LabVIEW Champion | NI Alliance Partner



11 Comments
X.
Trusted Enthusiast
Trusted Enthusiast

As a possible workaround, check this thread, which will lead you to other ones where you'll find a solution for Windows. A native support would be nice though.

 

TheQ
Active Participant

I heard of the Windows API method of doing this from a coworker just after posting.  Thank you for the link, I will look into it.  Still, as you said, native support would be nice though.

Quentin "Q" Alldredge

Chief LabVIEW Architect, Testeract | Owner, Q Software Innovations, LLC (QSI)
Director, GCentral | Admin, LabVIEW Wiki | Creator, The QControl Toolkit
Certified LabVIEW Architect | LabVIEW Champion | NI Alliance Partner



TheQ
Active Participant
Well, the workaround does some of the functionality I described in Idea. But there are a few shortcomings and caveats. 1) It does make the window transparent to the set color but only that color. Shadows will not blend into the background. Even when using a PNG file where the shadow blends to the background. The gradient region of the shadow will show mixed with the selected color instead of blending to transparent. 2) The color selection must be limited to 256 colors or something. If a color is selected in between, Windows will still act as if the color is transparent, allowing clicks to go through. However, the color won't actually appear transparent. 3) Anything else the same color as the set color also goes transparent. Selecting white or black as the color will cause the LabVIEW Run, Stop, and other buttons to become partially transparent and difficult to click on. So, it is better to use some odd color like pink/fuchsia. This was still difficult because it made the color box go transparent and then it could no longer be selected. 4) There is an input for alpha channel but this controls the window's transparency just like the current property node does. All-in-all, the workaround works well for some things and I will start using it. I really wish there could be support for shadows or fading such that the front panel appears to blend into the desktop like PNG graphics can do.
Quentin "Q" Alldredge

Chief LabVIEW Architect, Testeract | Owner, Q Software Innovations, LLC (QSI)
Director, GCentral | Admin, LabVIEW Wiki | Creator, The QControl Toolkit
Certified LabVIEW Architect | LabVIEW Champion | NI Alliance Partner



SteenSchmidt
Trusted Enthusiast

None of the workarounds for LabVIEW are much good really. This idea would be very nice if implemented, and a step toward the current millenium when it comes to UI flexibility 😉

 

/Steen

CLA, CTA, CLED & LabVIEW Champion
fabric
Active Participant

@michael_Aivaliotis wrote:

Can someone post a use-case for this besides fancy splash screens? Like something in test and measurement or automation or...


Seriously?!

 

Next you'll be asking us to justify the colour picker. Couldn't all test systems just be black and white?? Smiley Tongue

Intaris
Proven Zealot

There are NO use cases because clearly test and measurement clearly eliminates the ability to have a snazzy UI......

 

</sarcasm>

TheQ
Active Participant

Well, my particular use case, or what prompted me to put in this Idea, started due to creating a menu system for a customer on a touch screen system.  I was updating a diagnostic system from an older system written in VB/C++ for Windows XP without a touch screen, to a tablet computer with Windows 7 and LabVIEW.  The customer requested that the new menu bar have the same menu items and organization as the original to reduce training and rewriting of work instructions but optimized such that the buttons were big enough for touch activation.

 

I created the new menu bar with the use of a Tab Control for the menus, buttons for the menu items, and popup subVIs for the submenus (the use of the popup was to save screen real estate).  I wanted the popup submenus to have the blended drop shadow look like the windows have in Windows 7.  Initially I left the submenus resizable to keep the Windows 7 border with its drop shadow.  This wasn't ideal because I had no way to keep a user from resizing the submenu.   When changing the front panel to not be resizable the border and drop shadow disappear.  I couldn't find a way to get the look I want and ended up just making it flat.

 

I know that this isn't a particularly strong use case because the flat look is going to work but why limit creativity.  If I wanted my dialog boxes to have rounded corners with drop shadows without title bar or resizability, or use a fancy PNG with transparency as the background image on my panel, that would open up the possibility for many applications.  Then we could write many types of programs in LabVIEW without have the standard LabVIEW look and feel.  We could create UIs with more of the mobile app look and feel people are getting used to.

Quentin "Q" Alldredge

Chief LabVIEW Architect, Testeract | Owner, Q Software Innovations, LLC (QSI)
Director, GCentral | Admin, LabVIEW Wiki | Creator, The QControl Toolkit
Certified LabVIEW Architect | LabVIEW Champion | NI Alliance Partner



lvABC
Member
TheQ, This is not a solution, but I have used in past to create Transparent Window. It was created from NI-Community code. Hope it helps! I can’t upload here, so providing you link. https://dl.dropboxusercontent.com/u/78074926/Transparent%20Window.zip
TheQ
Active Participant

lvABC, thank you for the zip file.  That is the same workaround we have been discussing. The link provided by X above leads to the same thing.  You can access my slightly modified version along with my test VIs from the UI Interest Group on the NI Community page here.

Quentin "Q" Alldredge

Chief LabVIEW Architect, Testeract | Owner, Q Software Innovations, LLC (QSI)
Director, GCentral | Admin, LabVIEW Wiki | Creator, The QControl Toolkit
Certified LabVIEW Architect | LabVIEW Champion | NI Alliance Partner



MichaelAivaliotis
Active Participant

"Well, my particular use case.."

 

Thanks TheQ for explaining your use-case.



Michael Aivaliotis
VI Shots LLC