When I run my program all the forms appear at the positions they have in the designer, even though all their WindowState properties are wsMaximized. And even though they should all be maximized, their Maximize border icons are the plain square maximize icon. Clicking on that icon moves the form to its proper maximized position, and then clicking on the double-square Restore icon moves it back to its designer position, as expected if WindowState had been wsNormal originally. There is nothing in any of the form's event handlers that affect its size, position, or state. But if I set Left:=0, Top:=0, Height:=Screen.Height, Width:=Screen.Width, and WindowState:=wsMaximized explicitly in FormCreate, the form is almost at the right position, but still with the Maximize icon. Clicking on that icon slightly decreases the height of the form's caption strip, resulting in a normal-looking maximized form. I've tried simulating a mouse click on the maximize icon in FormActivate, but it has no effect.
I may very well have done something silly when I was exploring the various settings, but I can't figure out what. Why is wsMaximized being treated as wsNormal? How can I make these forms behave?