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?
If the program starts with the mouse already in the client area without moving, why do you get a beep?
There is a message. Why isn't there a message? Because you can easily figure that out for yourself. When you receive a message, set a flag that says, "The mouse is outside the window." When you receive a message and the flag is set, then the mouse has entered the window. (And cle...
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 only 4...
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. The bi...
In Explorer, you can right-click the icon in the caption to get the context menu for the folder you are viewing. (Very handy for "Search" or "Command Prompt Here".) Apparently not enough people realize this. In Windows 95, we tried to make it so most icons on the screen did something interesting when you right-clicked them.
Some commenters mentioned that I should write a book. It turns out that writing a book is hard. A few years ago, MS Press actually approached me about writing a book for them. But I declined because the fashion for technical books is to take maybe fifty pages of information and pad it to a 700-page book, and I can't write that way. None of my to...
You have RISC processors like the Alpha AXP to thank for that.
My pal Jason Moore discusses using paper prototypes as a fast way to get usability feedback. I found it interesting that by going low-tech, you actually get better feedback, because people are more willing to criticize a paper model than running code. (And another advantage of the paper model is that you can make changes on the...
Shared memory is not just for sharing memory with other processes. It also lets you share memory with yourself in sneaky ways. For example, this sample program (all error checking and cleanup deleted for expository purposes) shows how you can map the same shared memory into two locations simultaneousl...
A British scientific study shows that a bit of classical music can persuade diners to buy more fancy coffees, pricey wines and luxurious desserts. "North has shown that playing German or French music can persuade diners to buy wine from those countries." I found this to be true in my experience. If you get two thousand people i...