Raymond Chen

Raymond has been involved in the evolution of Windows for more than 30 years. In 2003, he began a Web site known as The Old New Thing which has grown in popularity far beyond his wildest imagination, a development which still gives him the heebie-jeebies. The Web site spawned a book, coincidentally also titled The Old New Thing (Addison Wesley 2007). He occasionally appears on the Windows Dev Docs Twitter account to tell stories which convey no useful information.

Post by this author

Don't let Marketing mess with your slides

It's PDC season, so I thought I'd relate an anecdote about a conference from many years ago. I forget which conference it was, maybe GCDC 1996, we were all busy preparing our presentations and submitted them to the Microsoft conference representatives so they could apply the standard ...

Scrollbars redux: Part 12

Reader Jeff Miller added Word-style scroll tips to our sample scrollbar program. Here's how he did it: HWND g_hwndTT; /* tooltip control */ TOOLINFO g_ti; /* tooltip info struct */ BOOL g_fInScroll; /* Scroll state */ void CancelScrollTip() { if (g_fInScroll) { ...
Comments are closed.0 0

The much-misunderstood "nop" action

Last month, the printers were reconfigured in our building and we got an announcement that went like this: Subject: Printer/Copier Reconfiguration Microsoft Digital Campus Program Action Required blah blah blah printers are being reconfigured blah blah blah...

Murphy's law for school

If you know the answer to every question but one, the teacher will call on you to answer that one. I'm learning this rule all over again...


More strange function names.

Why don't notification icons get a message when the user clicks the "X" button?

If such a notification were generated, ill-behaved programs would just react to a click on the balloon's "X" button with an annoying follow-up dialog like, "Are you sure you want to ignore my wonderful message?" So there was a conscious decision not to give them the chance. In the Before...

Answer to previous exercise about the mythical WM_MOUSEENTER message

If the program starts with the mouse already in the client area without moving, why do you get a beep?
Comments are closed.0 0

Why is there no WM_MOUSEENTER message?

There is a WM_MOUSELEAVE message. Why isn't there a WM_MOUSEENTER message? Because you can easily figure that out for yourself. When you receive a WM_MOUSELEAVE message, set a flag that says, "The mouse is outside the window." When you receive a WM_MOUSEMOVE message and the flag...
Comments are closed.0 0

Why doesn't the clock in the taskbar display seconds?

Early beta versions of the taskbar clock did display seconds, and it even blinked the colon like some clocks do. But we had to remove it. Why? Because that blinking colon and the constantly-updating time were killing our benchmark numbers. On machines with ...

Other uses for bitmap brushes

Bitmap brushes used to be these little 8x8 monochrome patterns that you could use for hatching and maybe little houndstooth patterns if you were really crazy. But you can do better. CreatePatternBrush lets you pass in any old bitmap - even a huge one, and it will create a brush from it. ...
Comments are closed.0 0