Tutorials
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.
|
Win32 Tips & Tricks A page presenting many useful tips for Windows programming |
15 May 2001 |
|
Visual C++ Tips & Tricks Lots of useful tips for using Visual C++ |
26 Mar 2005 |
|
Win32 Tips & Tricks - Part 2 More useful tips for Win32 programming |
14 May 2006 |
| C & C++ Tricks | 22 Jan 2012 |
|
Insert buttons into an edit control How to insert a button into an edit control |
20 May 2001 |
|
Masked Edit Input How to filter specific keys-strokes from a standard edit control |
21 May 2001 |
|
Introduction to Printing How to print from a Windows application. |
22 May 2001 |
|
Fixed-width Font Enumeration How to enumerate all fixed-width fonts in a system along with their sizes |
22 May 2001 |
|
Customize date-time controls Improve the apearance of the date-time control |
23 Aug 2001 |
|
Drive-list control A drop-down list displaying drive names and icons |
25 Aug 2001 |
|
Directory list control A directory-picker list box |
26 Aug 2001 |
|
Custom Titlebar How to insert buttons into a window's caption area |
1 Oct 2001 |
|
URL Control A simple HTTP URL control |
1 Oct 2001 |
|
Custom Controls How to create a custom win32 control |
20 Nov 2001 |
|
Flicker-free Drawing Techniques to eliminate flicker from your applications |
20 Nov 2001 |
|
Custom Scrollbars Introducing the Cool Scrollbar library, for customizing the appearance of scrollbars |
5 Jan 2002 |
|
Custom MessageBox How to customize the standard MessageBox dialog |
30 Jun 2002 |
|
System Image List How to access the System Image List (AKA the Shell Icon Cache) |
2 Jul 2002 |
|
Custom Combobox How to customize the appearance of a combobox. |
4 Jan 2004 |
|
64bit Scrollbars How to create 64bit scroll ranges using standard Win32 scrollbars |
2 Sep 2005 |
|
Using cards.dll API How to access the cards.dll API |
22 May 2001 |
|
Cards.dll direct bitmap access Accessing the cards.dll bitmaps as resources |
1 Oct 2001 |
|
CardLib Introducing CardLib, a card-game programming library |
4 Dec 2001 |
|
CardLib Reference CardLib Programmer's Quick-Reference |
4 Dec 2001 |
|
Splitter Windows An example of a splitter-bar used to separate two windows |
22 May 2001 |
|
Docking Toolbars - Part 1 How to implement floating toolbars |
20 Nov 2001 |
|
Docking Toolbars - Part 2 How to implement docking toolbars |
30 Jun 2002 |
|
Memory Techniques - Part 1 Memory management techniques for large file editors |
20 Aug 2001 |
|
Memory Techniques - Part 2 Memory management techniques for large file editors |
30 Aug 2001 |
|
Self-deleting Executables Techniques which allow an executable file to delete itself whilst running |
1 Oct 2001 |
|
Reducing Executable Size A tutorial covering a variety of techniques for creating tiny executables. |
1 Oct 2001 |
|
Undocumented CreateProcess Undocumented and hard-to-find information regarding the CreateProcess API call |
6 Jan 2004 |
| OLE Drag and Drop | 15 Feb 2004 |
|
Drag and Drop Introduction Introducing the OLE and COM technologies |
15 Feb 2004 |
|
Implementing IDataObject Standalone implementation of the IDataObject interface |
15 Jun 2004 |
|
OLE Data Transfers All about OLE data types, storage mediums and data format |
15 Jun 2004 |
|
Enumerating FORMATETC Standalone implementation of the IEnumFormatEtc interface |
16 Jun 2004 |
|
Drop Target Implementing the IDropTarget interface |
17 Jun 2004 |
|
Drop Source Implementing the IDropSource interface |
17 Jun 2004 |
|
Design & Implementation of a Win32 Text Editor Neatpad Text Editor |
28 Jan 2005 |
|
Neatpad Overview Introduction to the Win32 Text Editor series |
29 Jan 2005 |
|
Loading a text file Loading and displaying a text file |
18 Feb 2005 |
|
Scrollbars & Scrolling Adding scrollbars and scrolling to the TextView |
20 Feb 2005 |
|
Enhanced Drawing & Painting Improving the text display of TextView |
19 Apr 2005 |
|
Mouse Selection & Highlighting Mouse input, window focus and selection highlighting |
29 May 2005 |
|
Scrolling with the Mouse Mouse selection and scrolling |
30 May 2005 |
|
Margins and Long Lines Selection margin, line numbers and long-line highlighting |
7 Aug 2005 |
|
Introduction to Unicode An introduction to Unicode and character sets |
4 Dec 2005 |
|
Unicode Text Processing Unicode file support in Neatpad |
5 Dec 2005 |
|
Transparent Text Overview of the issues involved in rendering text selections |
25 Feb 2006 |
|
Introduction to Uniscribe Introducing Uniscribe |
27 Feb 2006 |
|
Uniscribe Mysteries Looking at ScriptItemize and ScriptLayout |
1 Mar 2006 |
|
More Uniscribe Mysteries Looking at ScriptShape and ScriptPlace |
2 Mar 2006 |
|
Integrating UspLib Migrating Neatpad to the UspLib engin |
6 Mar 2006 |
|
Drawing styled text with Uniscribe Drawing styled text with ScriptTextOut |
6 Mar 2006 |
|
Keyboard Navigation Keyboard navigation with Uniscribe |
14 May 2006 |
|
Piece Chains Editing text with Piece Chains |
12 Sep 2006 |
|
Unicode Text Editing Editing complex script |
28 Nov 2006 |
|
Introduction to Device Drivers Kernel 101 - writing a simple Windows NT device driver |
25 Mar 2005 |
|
Remote Debugging using VMWare How to debug a device-driver using WinDbg and VMWare |
28 Mar 2005 |