How does presence of TMenu affects window [styles?]?
You're asking me ?
In Windows the ClientHeight is lowered when there is a visible TMainMenu present.
It seems ReactOS always lowers the ClientHeight (even if a TMainMenu is not present).
And when there is one present it works correctly if it is not visible.
So you need to dive in the code of ReactOS to find the place where this height is determined.
(GetClientRect() uses Wnd->rcClient.bottom so you need to find where that is set and where the TMainMenu can affect it)
It could be as simple as a mistype in { }.
For example (note: pseudocode)
Height = realheight
if TMainMenu.isPresent
MainMenuPresent = true
Height = Height - MenuHeight
if not TMainMenu.isVisible
Height = realHeight
Height = realheight
if TMainMenu.isPresent {
MainMenuPresent = true
Height = Height - MenuHeight
if not TMainMenu.isVisible
Height = realHeight
}
See that in the first code the { } is left out. When you do that only the MainMenuPresent line is executed for the if statement and everything below it is always executed. Something like a simple typo and wrong indentation can cause this.
You can also go back to an earlier version to see if it works there and check out what's changed in the code.