My immediate answer to that is to use the MSFlexGrid ActiveX control. I have been working on a project with a similar requirement (although I'm currently looking for something a little more advanced right now).
MSFlexGrid does exactly the basics. You create a grid and then begin populating it cell by cell. It only requires that you include the sources ' #include "msflexgrid.h" '.
To include it in your project (and I am assuming you are using Visual C++ 6), simply go to the PROJECT menu, select ADD TO PROJECT and COMPONENTS AND CONTROLS. You will get a file dialogue. Select REGISTERED ACTIVEX CONTROLS and open the MICROSOFT FLEXGRID CONTROL.
Then all you need to do next is to go to your RESOURCEVIEW and add the control onto your dialogue (you will find the button at the bottom of the list of controls in the CONTROLS selection box as a yellow button with some kind of icon of a grid).
Should be all you need. There are plenty of resources online on how to use the MSFLEXGRID control and because it is an ActiveX control, the VB
implementation and the C++ implementation are pretty much the same, so you should be able to read and learn from both.