I don't think using C++ and DirectX itself is a good idea unless you're creating a high-level 3D gaming engine. You're probably better off using SDL in place of DirectX (SDL uses DirectX to render or can be set to work alongside OpenGL).
I would use C# and SDL.NET if I wanted to make a game.
C# isn't powerful, and SDL is cheating in my eyes.