Hey guys do some of you know where there is some good tutorials, and explanations working with gui in c++?

what is difference in "opengl" and "directx"?

do i need a open library to my compiler too work with gui? Or can you make gui from 'scratch'?

how much off c++ should you have learned before using gui in your program, example make a list of what i should learn before? (I/O,functions,pointers)...

Thank you all for you answer's (-: