Tutorials

Tips and Tricks

Win32 Tips & Tricks
May 2001
A page presenting many useful tips for Windows programming

Visual C++ Tips & Tricks
Mar 2005
Lots of useful tips for using Visual C++

Win32 Tips & Tricks - Part 2
May 2006
More useful tips for Win32 programming

C & C++ Tricks
Jan 2012
Collection of unusual tips for C & C++

Source Archive
Jan 2012
Win32 sourcecode snippet archive

Win32 Tutorials

Insert buttons into an edit control
May 2001
How to insert a button into an edit control

Masked Edit Input
May 2001
How to filter specific keys-strokes from a standard edit control

Introduction to Printing
May 2001
How to print from a Windows application

Fixed-width Font Enumeration
May 2001
How to enumerate all fixed-width fonts in a system along with their sizes

Customize date-time controls
Aug 2001
Improve the apearance of the date-time control

Drive-list control
Aug 2001
A drop-down list displaying drive names and icons

Directory list control
Aug 2001
A directory-picker list box

URL Control
Oct 2001
A simple HTTP URL control

Custom Titlebar
Oct 2001
How to insert buttons into a window's caption area

Flicker-free Drawing
Nov 2001
Techniques to eliminate flicker from your applications

Custom Controls
Nov 2001
How to create a custom win32 control

Custom Scrollbars
Jan 2002
Introducing the Cool Scrollbar library, for customizing the appearance of scrollbars

Custom MessageBox
Jun 2002
How to customize the standard MessageBox dialog

System Image List
Jul 2002
How to access the System Image List (AKA the Shell Icon Cache)

Custom Combobox
Jan 2004
How to customize the appearance of a combobox

64bit Scrollbars
Sep 2005
How to create 64bit scroll ranges using standard Win32 scrollbars

Cards Tutorials

Using cards.dll API
May 2001
How to access the cards.dll API

Cards.dll direct bitmap access
Oct 2001
Accessing the cards.dll bitmaps as resources

CardLib
Dec 2001
Introducing CardLib, a card-game programming library

CardLib Reference
Dec 2001
CardLib Programmer's Quick-Reference

Docking Tutorials

Splitter Windows
May 2001
An example of a splitter-bar used to separate two windows

Docking Toolbars - Part 1
Nov 2001
How to implement floating toolbars

Docking Toolbars - Part 2
Jun 2002
How to implement docking toolbars

Neatpad Tutorials

Design & Implementation of a Win32 Text Editor
Jan 2005
Neatpad Text Editor

Neatpad Overview
Jan 2005
Introduction to the Win32 Text Editor series

Loading a text file
Feb 2005
Loading and displaying a text file

Scrollbars & Scrolling
Feb 2005
Adding scrollbars and scrolling to the TextView

Enhanced Drawing & Painting
Apr 2005
Improving the text display of TextView

Mouse Selection & Highlighting
May 2005
Mouse input, window focus and selection highlighting

Scrolling with the Mouse
May 2005
Mouse selection and scrolling

Margins and Long Lines
Aug 2005
Selection margin, line numbers and long-line highlighting

Introduction to Unicode
Dec 2005
An introduction to Unicode and character sets

Unicode Text Processing
Dec 2005
Unicode file support in Neatpad

Transparent Text
Feb 2006
Overview of the issues involved in rendering text selections

Introduction to Uniscribe
Feb 2006
Introducing Uniscribe

Uniscribe Mysteries
Mar 2006
Looking at ScriptItemize and ScriptLayout

More Uniscribe Mysteries
Mar 2006
Looking at ScriptShape and ScriptPlace

Integrating UspLib
Mar 2006
Migrating Neatpad to the UspLib engine

Drawing styled text with Uniscribe
Mar 2006
Drawing styled text with ScriptTextOut

Keyboard Navigation
May 2006
Keyboard navigation with Uniscribe

Piece Chains
Sep 2006
Editing text with Piece Chains

Unicode Text Editing
Nov 2006
Editing complex script

System Tutorials

Memory Techniques - Part 1
Aug 2001
Memory management techniques for large file editors

Memory Techniques - Part 2
Aug 2001
Memory management techniques for large file editors

Self-deleting Executables
Oct 2001
Techniques which allow an executable file to delete itself whilst running

Reducing Executable Size
Oct 2001
A tutorial covering a variety of techniques for creating tiny executables

Undocumented CreateProcess
Jan 2004
Undocumented and hard-to-find information regarding the CreateProcess API call

OLE Tutorials

OLE Drag and Drop
Feb 2004

Drag and Drop Introduction
Feb 2004
Introducing the OLE and COM technologies

OLE Data Transfers
Jun 2004
All about OLE data types, storage mediums and data format

Implementing IDataObject
Jun 2004
Standalone implementation of the IDataObject interface

Enumerating FORMATETC
Jun 2004
Standalone implementation of the IEnumFormatEtc interface

Drop Target
Jun 2004
Implementing the IDropTarget interface

Drop Source
Jun 2004
Implementing the IDropSource interface

Kernel Tutorials

Introduction to Device Drivers
Mar 2005
Kernel 101 - writing a simple Windows NT device driver

Remote Debugging using VMWare
Mar 2005
How to debug a device-driver using WinDbg and VMWare

Recent Posts