The Old New Thing

Scrollbars part 9 – Maintaining the metaphor

When a document is displayed with scrollbars, the metaphor is that the window is a viewport onto the entire document, only a portion of which is visible at the moment. The default behavior of a resize, however, is to maintain the origin at the upper left corner of the client area, which breaks the metaphor...
Comments are closed.0 0
Code

Where is my program running from?

Another common question: "How do I find out where my program is? I want to be able to access support files in that same directory." Answer: GetModuleFileName(NULL...
Comments are closed.0 0
Code

Case mapping on Unicode is hard

Occasionally, I'm asked, "I have to identify strings that are identical, case-insensitively.  How do I do it?" The answer is, "Well, it depends. Whose case-mapping rules do you want to use?" Sometimes the reply is, "I want this to be language-independent." Now ...
Comments are closed.0 0
Code

Determining whether your window is covered

The method described in the previous coding blog entry works great if you are using the window visibility state to control painting, since you're using the paint system itself to do the heavy lifting for you. To obtain this information outside of the paint loop, use GetDC and GetClipBox...
Comments are closed.0 0
Code

Painting only when your window is visible on the screen

Sometimes you want to perform an activity, such as updating a status window, only as long as the window is not covered by another window. The easiest way to determine this is by not actually trying to determine it. For example, here's how the taskbar clock updates itself...
Comments are closed.0 0
Code

What are those little overlay icons?

Windows XP ships with a number of icon overlays. The black clock is particularly baffling because you sometimes see it even if your system is not equipped with Hierarchical Storage Management. When this happens, it's because some program (...