I have been researching how to create a very basic GUI application in C++ with the intent of eventually making a basic game, such as pacman or tetris. I have a lot to learn about C++, and I have everything to learn about game libraries and APIs. I have decided that making something even more basic than a simple game is best for me at this point, but I want it to be something graphical, and potentially even animated (if not in the first phase, at some point later). I have decided to attempt to make a screensaver, as a screensaver can have graphical complexity, but can still be more simplified than a game since it requires very little user input (as well as no sound or AI). I would argue that the most basic screensaver imaginable would be about the most basic graphical application one could develop.
I know that many screensavers are created using C/C++ as their general language and DirectX or OpenGL as their library/API. These are all languages and libraries I would like to learn, and of course I would like to learn many others. I am definitely going to stick with C++ for this task, but what libraries should I attempt to use if I have never done anything like this before? How should I even begin this task if I have never made a GUI? Should I do something even simpler than a screensaver for this to be the most affective learning experience?
Note: I am not limited to any particular platform.