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 and .
The HDC that...
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:
...
I get called on frequently to do troubleshooting, so I figure I'd share some entries
from my private bag of tricks. (And there are some remarks for programmers hidden
here too.)
Problem 1. A folder like opens each time you
log on.
Reason: Your system contains two ...
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 (typicall...
Sometimes you run into a conflict where you need the controls laid out in one Z-order
to get hit-testing to work, but need a different order to get keyboard TAB order working.
For example, consider this dialog template, which has been simplified for expository
purposes.
The dial...
GetWindowText() is more complicated than you think. The documentation tries to explain
its complexity with small words, which is great if you don't understand long words,
but it also means that you're not getting the full story.
Here's an attempt to give the full story.
How windows manage the...
The WM_SIZING handler intercepts only interactive resizing. If the user right-clicks the taskbar and selects "Cascade Windows", this resizes the window directly without going through the interactive WM_SIZING step
Enforcing integrality solves the fractional-line problem, but notice that when you
grab the top or bottom edge and resize the window, the resize feedback doesn't match
the actual window you get back if you drag the window to a non-integral size. (You
may need to turn off full window drag to see this effect more...