The Old New Thing

The evolution of menu templates: 32-bit extended menus

At last we reach the 32-bit extended menu template. Introduced in Windows 95, this remains the most advanced menu template format through Windows Vista. As you might expect, the 32-bit extended menu template is just a 32-bit version of the 16-bit extended menu template, so if you've been following along, you should find no real ...

The evolution of menu templates: 16-bit extended menus

Windows 95 introduced a new menu format, known as "extended menus". You declare these in a resource file with the MENUEX keyword. The 16-bit extended menu is really just a temporary stopping point on the way to the 32-bit extended menu, since the 16-bit form is supported only by the Windows 95 family of operating systems. It's sort ...

When companies make it hard for you to pay money they are owed

Elissa Ely runs into a bureaucratic wall trying to pay her invalid mother's credit card bill. They won't tell her the outstanding balance on her mother's account because "it seemed to run the risk that a stranger might pay someone else's bill." My own mother ran into a similar problem. She wanted to find out the balance in an old elementary...

Why does the “Install Font” dialog look so old-school?

8 wonders why the "Install Font" dialog looks so old-school. (And Kevin Provance demonstrates poor reading skills by not only ignoring the paragraph that explains why the suggestion box is closed, but also asking a question that's a dup of one already in the suggestion box!) Because it's a really old dialog. That dialog has been around...

Crazy ideas at the lunch table: The ice cream bicycle

At the lunch table some time ago, we considered the possibility of riding the STP atop a classic ice cream bicycle. You could play the music and cruise down the road, selling ice cream sandwiches out of your trunk. Naturally, you'd start really early in the day, because you can't go very fast on that bicycle, and besides, nobody is going ...

The evolution of menu templates: 32-bit classic menus

Now that we've got a handle on 16-bit classic menu templates, we can move on to the next evolutionary step, namely 32-bit classic menu templates. The 32-bit classic menu template is in fact nearly identical to the 16-bit classic menu template. The only change is that the menu text is now a Unicode string instead of an ANSI string. ...

Warning: This cereal may contain traces of spiders

In a Lisbon grocery store, I was looking at the ingredient panel of a box of cereal. It contained the information in multiple languages, and French came first. I was momentarily stunned by the following warning: Traces possibles d'arachides. I guess this falls in the category of "Raymond misreads French cereal box warnings...

The evolution of menu templates: 16-bit classic menus

Menus aren't as complicated as dialogs. There are no fonts, no positioning, it's just a list of menu items and flags. Well, okay, there's the recursive part, when a menu has a submenu. But that's really the only wrinkle. Most of it is pretty boring. The 16-bit classic menu template begins with the following header: struct MENUHEADER16 { ...