Documentation creates contract, which is why you need to be very careful what you document
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_CXFRAME pixels from the right-hand edge of the window, and that the buttons are exactly
SM_CXSIZE pixels wide, with exactly
SM_CXEDGE pixels of padding between the buttons, and the buttons are exactly
SM_CYSIZE pixels tall, with
SM_CYEDGE 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_CXPADDEDBORDER or the the
SM_CYPADDEDBORDER. 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_CXPADDEDBORDER), 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_CYFRAME + 1 pixels, move left move down
SM_CXFRAME + 1 pixels, and click there, and it will hit the button.”
And then Windows Vista shows up, adds some
SM_CXPADDEDBORDER 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.