I've had good luck using directdraw for 2D, and I'm currently learning OpenGl. There are, however, some advantageous to directx, such as a complete API including sound effects, music, and input, but I think opengl's api is by far easier to understand. For learning OpenGL there is good online material such as the redbook, bluebook, and nehe's tutorials, and you could always combine OpenGL with the directx libraries for sound and input.