canvas for own GUI platform in OS

I learn WebGL via this book now, but also I will learn OpenGL after. Now, in the browsers, I use a canvas element as a canvas for drawing. This element is provided by HTML5.

In the Windows OS exist own platforms for GUI applications creating: WinForms, WPF and WinAPI. It is interesting for me: whether provides OS (Windows\Linux) for developers an analogue of canvas for capability of creating “own GUI platforms”? Or maybe will I need somehow to create such element beforehand myself?

For example, when I will be learning the OpenGL I want to try to create own “GUI platform” instead of using the native GUI platforms by OS: as examples (windows, controls, etc). It will interesting and useful practice for me.

I will be very grateful for the detailed response and\or for the useful links.

Thank you.

P.S. I appologize for my horrible English.