The Old New Thing
Practical development throughout the evolution of Windows.
Latest posts

Color-aware ClearType requires access to fixed background pixels, which is a problem if you don't know what the background pixels are, or if they aren't fixed

ClearType is a technology that blends text pixels with background pixels with the goal of reducing visual artifacts during text rendering.¹ If you go for the full-meal version of ClearType, it uses knowledge about the physical properties of LCD screens in order to carry out its work. Some time ago, I noted one catch with this model, which is that overdraw gives the ClearType algorithm the wrong background pixels. Another gotcha is that if you don't know what the background pixels are at all, then you can't use ClearType. For example, you might be rendering a semi-transparent bitmap that will be drawn on to...

The compiler can make up its own calling conventions, within limits

Global optimizations.

Tip for trying to boost morale: Don't brag about your overseas trips

Once upon a time, a senior manager held a team meeting to address low team morale. Attempting to highlight how important the project was, he opened by saying, "I just got back from 〈faraway country〉, meeting with some of our important clients, and..." This remark had exactly the opposite effect from what the manager intended. Instead of revitalizing the team, the team became even more despondent. "Here we are, working late and coming in on weekends, and this senior manager is telling us about his recent overseas junket." (After he left, I heard that he still pulled this stunt with his new team. "Over ...

Customizing item enumeration with IShellItem

Have it your way.

Helper functions to make shell bind contexts slightly more manageable

Setting the options.

The wonderful world of shell bind context strings

A generic options parameter.

Why does my synchronous overlapped ReadFile return FALSE when the end of the file is reached?

That's what the documentation says, in a way that could be made more clear.

Why does the copy dialog give me the incorrect total size of the files being copied?

It's all a misunderstanding.

Why does Outlook use a semicolon to separate multiple recipients by default?

In triplicate, please.