Wenn du ein Framework wie die SFML oder die SDL erstellen wolltest, dann müsstest du unter Windows auf die WinAPI zurückgreifen. Die WinAPI arbeitet also inmitten der SDL oder SFML. Sie ist quasi die Basis, die benötigt wird, um mit einem Windows-Computer zu kommunizieren.
Die SFML und SDL sind eben spezielle Frameworks, die auf der Basis der WinAPI dem Nutzer die Möglichkeit bieten, möglichst einfach Grafiken zu laden und anzuzeigen.
Wenn du also ein Spiel programmieren willst, dann wirst du im Normalfall auf ein Framework wie die SDL oder SFML zurückgreifen, da diese eben genau dafür programmiert sind und dir entsprechende Funktionen einfach bereitstellen. Willst du dir ein eigenes 2D-Framework schreiben, auf dessen Basis du dann Spieler erstellst, dann musst du dir deine eigenen Funktionen implementieren, indem du die Funktionen nutzt, die dir die WinAPI bereitstellt.
Abstrakt gesprochen ist die WinAPI wie ein großes Haus, das dir mit vielen Gängen, Türen und Zimmern die Kommunikation mit Windows ermöglicht. Die SDL und SFML bauen im Grunde einfach einen eigenen hübschen Gang, der dich direkt zu dem Zimmer führt, das du möchtest(und alle anderen unwichtigen Türen werden für dich als Benutzer abgesperrt). Du kannst also direkt und einfach losgehen. Kommst aber eben nur in dieses eine Zimmer, wofür die SFML gebaut wurde. Willst du andere Zimmer besuchen, musst du eben andere Gänge wählen und möglicherweise auch durch den Haupteingang in das große Haus der WinAPI gehen
.