A person with a rude name asks, "Why does MS not document the system metrics used by classic/pre-uxtheme windows and common controls? This image is really useful and I wish all of this was actually documented."
Actually, that picture explains why it isn't documented.
Suppose such a picture existed in the Windows 2000 documentation.
I don't know what it would say exactly,
so suppose, for the purpose of discussion, that
it said that the caption buttons are exactly
SM_
pixels from the right-hand edge of the window,
and that the buttons are exactly
SM_
pixels wide,
with exactly
SM_
pixels of padding between the buttons,
and the buttons are exactly
SM_
pixels tall,
with
SM_
pixels
between the top of the button and the top of the window.
Once that picture existed in the documentation, the picture you linked to could never exist.
The picture from Windows 2000 doesn't include
the SM_
or the
the SM_
.
It can't, because those metrics didn't exist in Windows 2000.
Since the diagram is part of the documentation,
it is contractual,
and it would not be possible to alter the layout of the
window caption (say, by incorporating a new metric like
SM_
),
because that would break existing code.
For example, a program may have looked at the diagram
and concluded,
"Okay, so if I want to programmatically click the Close button,
I can go to the upper right corner of the window,
move down SM_
pixels,
move left
move down SM_
pixels,
and click there,
and it will hit the button."
And then Windows Vista shows up,
adds some
SM_
between the
Close button and the right edge,
and the program stops working.
Publishing the redlines would force the visual layout to be locked in stone. Windows 95 could not have added the Close button. Windows Vista could not have added extra padding around the buttons.
Note that changing the visual layout of the caption does not break programs which draw their own caption bar. They will continue to draw the caption bar their own custom way. If they tried to mimic the Windows 2000 caption bar, then they will continue to mimic the Windows 2000 caption bar, even on Windows Vista. But nobody gets hurt, because the application is doing both the drawing and the hit-testing, so it remains in sync with itself.