The .h file traditionally holds declarations and the .cpp file the definitions. The #include inserts the human readable ASCII code that is the .h file, right there at the top before compiling. The main purpose of the .h file was to gather together all the declarations (more even than you need) rather than listing all that are needed at the top of every .cpp file. (This also eliminates the need to go around changing every declaration every time you make a change.)
But in the case of Windows Programming (using Visual C++ Express) why is all the code in the form1.h and the .cpp file that includes it is just a stub?