Optimal 2D graphics resource I am a some-what experienced programer, and I have been working on creating a 3D graphics engine utilizing the OpenGL system, primarily focused on use in games. However, I also want to do some work with functional programming, and wanted to create a clean UI for more functional programs, like a task manager. An example of the kind of effect that I want to create could be somewhat like the Visual Studio Code UI. My question is: is there a specific library that I should use for creating desktop programs, or should I continue to use OpenGL's 3D aspects, but keep everything in a single Z axis plane, effectively creating a 2D program? Or is there a better way to create normal program visuals, that wont be cheating out of a 3D graphical space?

Thanks for your help.

EDIT:
I am currently using C++/C, but I am also happy to expand my knowledge base to include new languages.
As you said you want to create something like this 
As you know these are not graphic intense rendering.
Thus, (i guess but not 100%) Windows do these rendering on CPU not on GPU.
GPU is for intense rendering with lighting, textures, 3D models, etc. Where you can take the benefit of algorithm built in GPU circuit, Which is what OpenGL does.
So i would recommend to use built-in libraries that don't use GPU and use CPU for rendering, Although you can use OpenGL or Direct3D as well.
Some libraries that are built in different programming languages are :-

Java - Jframe, Graphics, Buffered image,  Canvas. (Note : all these libraries have different functionality and you have to use them together for software rendering See this for more detail)
C# - System.drawing,  (i don't have much experience of C#, So i can't name any more libraries), also C# form application.
JavaScript - Canvas check this out
C++ - you need third party libraries like QT, GTX etc. Qt learning resource, related resource
Python - Pygame (No personnal eperience) See this for detail