And even if one is primarily developing Windows applications, you'll quickly outrun the available resources once you start to get into details of using specific controls. The basic resources that I used are:
1. Petzold: Programming Windows, Fifth Edition
This covers all the basic details of creating Windows programs, but doesn't get into the Common Controls much, which is where the heavy lifting is done.
2. Nancy Clutz: "Programming the Windows 95 User Interface"
A good starting place for Common Controls, unfortunately it never was updated for WinXP and later controls. Book is hard to find, accompanying CD is even harder!
3. Microsoft Platform SDK, February 2003
Note that the February 2003 edition (which was still available from MSDN as of a couple of years ago) is the last edition which still supported Visual C++ 6, and therefore basic C development tools. The Samples contain countless examples which can usually be built as small, stand-alone utilities. I don't think I could have gotten Virtual Listview controls to work without their example!!
4. various online references will provide small clues:
- he has *wonderful* code snippets in his "win32 tips and tricks" pages (under Tutorials)
Forger's win32 tutorials: http://www.winprog.org/tutorial/
various Microsoft MVP pages: http://www.mvps.org/
In spite of all these, I had endless headaches, and alot of simply guessing, to solve basic problems such as using different fonts in different cells of a Virtual Listview, or how to implement Tab Controls. In many cases I simply stumbled upon a site which had an simple example of how to solve some detailed problem, in a form that I could actually build (I use MinGW toolchain for my Windows development).
I recommend starting Windows programming using WinAPI; it will give you valuable experience in interpolating from incomplete data!