Flicker-free Drawing

Techniques to eliminate flicker from your applications

Flicker is the sign of sloppy programming and a lack of attention to detail. There is no reason why any part of a Windows program should flicker. The aim of this article is to present the reader (that's you) with the techniques used to prevent their windows applications from flickering.

Docking Toolbars - Part 1

How to implement floating toolbars


This tutorial will show you how to create docking toolbars, using pure Win32 techniques. I'm going to split this topic in two separate pages. The first tutorial will cover the "floating" aspect of toolbars - i.e. how to get tool windows to stay floating on top of all other windows, how to get the window activation working correctly etc. The second tutorial will show you how to get these floating toolbars to "dock" to the side of a window, and discuss various methods of window management.

Custom Controls

How to create a custom win32 control

A custom control is any child window which displays information or allows the user to interact with it in some way. This article describes the steps required to create a custom user control from scratch, using pure Win32 techniques. This custom control will not be an ActiveX control, or possess any other magical properties. Rather, we will be creating a simple control, similar to the way edit controls, buttons or listboxes work.

URL Control

A simple HTTP URL control

Updated 6th Jan 2005

Ralph Bittmann has kindly sent an update of the URL Control. It has some nice extra features:

Self-deleting Executables

Techniques which allow an executable file to delete itself whilst running

This is a subject that tends to come up every so often in the newsgroups, so I thought I'd write an article about the techniques I've collected to enable an executable to delete itself from disk (whilst running, that is). There is very little information on the web, and what information exists is also hard to find.

Reducing Executable Size

A tutorial covering a variety of techniques for creating tiny executables.

There are so many large and bloated applications around today that most people just assume that this is normal and quite willingly put up with poor performance and having to buy larger harddrives.

Custom Titlebar

How to insert buttons into a window's caption area

This article will teach you the techniques used to insert one or more buttons into the title bar (caption area) of any window. The source code download implements a complete library which supports all types of window, including standard frame windows, and tool windows with smaller captions.


Note that this article was originally written in 20001 - it is only relevant for Windows 95/98/ME and Windows NT/2000/XP. Customizing the titlebar in Vista and Windows 7 (using the Aero theme) requires overlaying windows on top of the titlebar.

Cards.dll direct bitmap access

Accessing the cards.dll bitmaps as resources

The first tutorial I wrote about cards.dll described how to use the exported card-drawing functions (cdtInit, cdtDraw etc). This tutorial will take a different approach to card drawing. Instead of calling the card-functions, I will show you how to directly access the bitmap resources stored inside cards.dll.

Small card pic

Memory Techniques - Part 2

Memory management techniques for large file editors

(Part 2 - Algorithms and Techniques)

So, you already know how to load and view a 4Gb file because you’ve just finished reading Part 1 of this article series. Now you know how manage large amounts of memory, we can move on and explore a very powerful technique for actually editing a large file.

Directory list control

A directory-picker list box

Does anyone else miss the old style Windows 3.1 directory list boxes? I find the new Windows 95 directory tree view controls pretty cumbersome to navigate around. They display far too much information at any one time, and as a result it can be confusing to navigate around the control to locate a folder.


Subscribe to Catch22 RSS