Win32 Tips, Tricks and Tutorials
No MFC, No VB - pure Win32 C/C++ !!!
Presented here are a collection of programming tutorials for Windows. The tutorials cover various Windows programming topics, but most concentrate on the user-interface aspect of programming. All tutorials and source downloads are in the C programming language. No external libraries such as MFC are required to build the source code presented in these tutorials.
Tips and Tricks
| Title | Posted | Updated | Comments |
|---|---|---|---|
| Win32 Tips, Tricks and Tutorials | 29/08/2008 | 17 Feb 2009 | 0 comments |
| Win32 Tips and Tricks - Part 1 | 29/08/2008 | 19 Feb 2009 | 1 comments |
| Win32 Tips and Tricks - Part 2 | 29/08/2008 | 17 Feb 2009 | 1 comments |
| Visual C++ Tips and Tricks | 29/08/2008 | 17 Feb 2009 | 3 comments |
Neatpad - Design and Implementation of a Win32 Text Editor
Tutorial series covering the design and implementation of Neatpad - a text editor written using pure C/C++ Win32 techniques. The entire range of functionality is covered - text file loading, undo and redo, unicode, user-interface details and memory management techniques.
| Title | Posted | Updated | Comments |
|---|---|---|---|
| Design and Implementation of a Win32 Text Editor | 29/08/2008 | 31 Aug 2008 | 32 comments |
| Part 1 - Overview | 29/08/2008 | 3 Sep 2008 | 3 comments |
| Part 2 - Loading a text file the easy way | 29/08/2008 | 3 Sep 2008 | 3 comments |
| Part 3 - Scrollbars and Scrolling | 29/08/2008 | 3 Sep 2008 | 9 comments |
| Part 4 - Improved Drawing | 29/08/2008 | 3 Sep 2008 | 3 comments |
| Part 5 - Mouse Selection and Highlighting | 29/08/2008 | 3 Sep 2008 | 3 comments |
| Part 6 - Scrolling with the Mouse | 29/08/2008 | 3 Sep 2008 | 3 comments |
| Part 7 - Margins and Long Lines | 07/08/2005 | 3 Sep 2008 | 9 comments |
| Part 8 - Introduction to Unicode | 29/08/2008 | 3 Sep 2008 | 5 comments |
| Part 9 - Unicode Text Processing | 30/08/2008 | 3 Sep 2008 | 4 comments |
| Part 10 - Transparent Text | 30/08/2008 | 3 Sep 2008 | 5 comments |
| Part 11 - Introduction to Uniscribe | 30/08/2008 | 3 Sep 2008 | 5 comments |
| Part 12 - Uniscribe Mysteries | 30/08/2008 | 3 Sep 2008 | 2 comments |
| Part 13 - More Uniscribe Mysteries | 30/08/2008 | 3 Sep 2008 | 2 comments |
| Part 14 - Drawing styled text with Uniscribe | 30/08/2008 | 3 Sep 2008 | 2 comments |
| Part 15 - Integrating UspLib | 30/08/2008 | 3 Sep 2008 | 2 comments |
| Part 16 - Keyboard Navigation with Uniscribe | 30/08/2008 | 3 Sep 2008 | 1 comments |
| Part 17 - Editing Text with Piece Chains | 30/08/2008 | 3 Sep 2008 | 2 comments |
| Part 18 - Unicode Text Editing | 30/08/2008 | 3 Sep 2008 | 10 comments |
OLE Drag and Drop
Tutorial series detailing OLE drag and drop, using pure Win32 C++.
| Title | Posted | Updated | Comments |
|---|---|---|---|
| OLE Drag and Drop | 30/08/2008 | 31 Aug 2008 | 2 comments |
| Part 1 - Introduction | 30/08/2008 | 3 Sep 2008 | 3 comments |
| Part 2 - OLE Data Transfers | 30/08/2008 | 3 Sep 2008 | 5 comments |
| Part 3 - Implementing IDataObject | 30/08/2008 | 3 Sep 2008 | 10 comments |
| Part 4 - Enumerating FORMATETC | 30/08/2008 | 3 Sep 2008 | 2 comments |
| Part 5 - Drop Source | 30/08/2008 | 3 Sep 2008 | 4 comments |
Using Cards.dll
Three tutorials describing different ways to access the standard Windows cards.dll bitmaps.
| Title | Posted | Updated | Comments |
|---|---|---|---|
| Cards.dll API | 30/08/2008 | 17 Feb 2009 | 1 comments |
| Cards.dll - Direct Bitmap Access | 30/08/2008 | 17 Feb 2009 | 0 comments |
| How to use CardLib | 30/08/2008 | 17 Feb 2009 | 0 comments |
| CardLib Quick Reference | 30/08/2008 | 17 Feb 2009 | 0 comments |
Docking and Splitter Windows
Three tutorials describing different ways implement docking and splitter windows.
| Title | Posted | Updated | Comments |
|---|---|---|---|
| Docking Toolbars (Part 1) | 30/08/2008 | 17 Feb 2009 | 2 comments |
| Docking Toolbars (Part 2) | 30/08/2008 | 19 Feb 2009 | 1 comments |
| Splitter Windows | 30/08/2008 | 17 Feb 2009 | 0 comments |
Windows User Interface Tutorials
A collections of tutorials covering many different aspects of Windows user-interface programming.
| Title | Posted | Updated | Comments |
|---|---|---|---|
| Custom Controls from Scratch | 30/08/2008 | 19 Feb 2009 | 0 comments |
| Flat Combobox | 30/08/2008 | 19 Feb 2009 | 0 comments |
| System Image List | 30/08/2008 | 17 Feb 2009 | 0 comments |
| Custom MessageBox | 30/08/2008 | 17 Feb 2009 | 1 comments |
| Cool Scrollbars | 30/08/2008 | 19 Feb 2009 | 0 comments |
| Flicker Free Drawing | 30/08/2008 | 17 Feb 2009 | 5 comments |
| URL Control | 30/08/2008 | 17 Feb 2009 | 0 comments |
| Custom Titlebar | 30/08/2008 | 17 Feb 2009 | 3 comments |
| Drive-List Control | 30/08/2008 | 17 Feb 2009 | 0 comments |
| Directory List Control | 30/08/2008 | 17 Feb 2009 | 0 comments |
| Custom Date-Time Controls | 30/08/2008 | 17 Feb 2009 | 1 comments |
| Enumerating Fonts | 30/08/2008 | 19 Feb 2009 | 0 comments |
| Masked Edit Input | 30/08/2008 | 17 Feb 2009 | 1 comments |
| Printing in Windows | 30/08/2008 | 17 Feb 2009 | 1 comments |
| Inserting Buttons into an Edit Control | 30/08/2008 | 17 Feb 2009 | 0 comments |
| 64bit Scrollbars | 30/08/2008 | 19 Feb 2009 | 1 comments |
Windows System Tutorials
Tutorials covering Windows System programming.
| Title | Posted | Updated | Comments |
|---|---|---|---|
| Undocumented CreateProcess | 30/08/2008 | 17 Feb 2009 | 1 comments |
| Techniques for reducing Executable size | 30/08/2008 | 17 Feb 2009 | 1 comments |
| Self Deleting Executables | 30/08/2008 | 17 Feb 2009 | 1 comments |
| Memory Management for Large-File Editors | 30/08/2008 | 17 Feb 2009 | 4 comments |
| Memory Management for Large-File Editors (Part 2) | 30/08/2008 | 23 Feb 2009 | 3 comments |
Windows NT Kernel-mode Programming
Tutorials covering Windows system and kernel-mode programming.
| Title | Posted | Updated | Comments |
|---|---|---|---|
| Kernel Programming 101 | 27/08/2008 | 17 Feb 2009 | 6 comments |
| Remote Debugging using VMWare | 30/08/2008 | 17 Feb 2009 | 3 comments |
Recent comments
1 min 55 sec ago
5 weeks 6 days ago
5 weeks 6 days ago
5 weeks 6 days ago
5 weeks 6 days ago
5 weeks 6 days ago
5 weeks 6 days ago
6 weeks 6 days ago
6 weeks 6 days ago
6 weeks 6 days ago