theForger's Win32 API Programming Tutorial


  1. Getting Started
  2. A Simple Window
  3. Handling Messages
  4. The Message Loop
  5. Using Resources
  6. Menus and Icons
  7. Dialog Boxes
  8. Modeless Dialogs
  9. Standard Controls
  10. Dialog FAQ
Creating a simple application
  1. Creating controls at runtime
  2. Files and the common dialogs
  3. Tool and Status bars
  4. Multiple Document Interface
Graphics Device Interface
  1. Bitmaps and Device Contexts
  2. Transparency
  3. Timers and Animation
  4. Text, Fonts and Colours
Tools and Documentation
  1. References
  2. Free Visual C++
  1. Solutions to Common Errors
  2. API vs. MFC
  3. Resource file notes

Welcome to theForger's Win32 API Tutorial

This tutorial attempts to get you started developing with the Win32 API as quickly and clearly as possible.

Download Full Example Code
The tutorial text does not include full source code listings, you will need to download this .zip if you want to compile the completed examples.

This tutorial is meant to be read as a whole

Please read it from beginning to end before asking questions... most of them will probably be answered. Each section builds on the sections before it. I have also added some solutions to common errors in Appendix A. If you ask me a question that is answered on this page, you will look very silly.

If you are viewing this locally or on another website, visit the #winprog website for the current official copy.

The translation and PDF versions are unfortunately difficult to update, and are based on older versions of the tutorial. Most of the content should be the same, but they are missing recent updates and bug fixes.

Copyright © 1998-2022, Brook Miles (tutorial(nospam) All rights reserved.