Can you describe what exactly you are trying to do with graphics? Are you trying to draw a square? draw an image? We need to know what you are trying to do because there may be a very simply solution to your problem. Also, what is an "allegro file"?
Ok, 2D I'm guessing? It maybe be worth it to learn OpenGL BUT it is also low-level. Meaning it can draw images on the screen, but you (the programmer) need to open and decode said images.
My question is, how much coding experience do you have in C/C++? Speaking as someone who does this (makes games) It is a lot of work and can lead to trouble if you are a little lost and/or don't know what you're doing. I would still recommend using OpenGL because then your little game will run on Mac and Linux as well and it seems to be easier to use (for me anyway) than DirectX.
If you don't care for cross-platform (it really isn't a big deal), then using the Win32 GDI functions (MFC functions/classes if you're using MFC) should work just fine. (If not on windows, then you may want to use Qt)
This is a fun and a good way to learn C++ by the way! If you have anymore questions, please ask!