Hello,
Problem almost* solved with my pseudo mdi. I have not tested on mac OS : when I install Qt, lazarus previously installed no longer works (!?). I then have to uninstall Qt and Lazarus and reinstall Lazarus completely.
Curiously, I had to differentiate the Ubuntu code from the Debian code when fMain.WindowState = wsMaximized.
{$IFDEF UBUNTU}if aFormMaximized then Y := Y - hTitleBar;{$ENDIF}
I mainly use :
procedure WMMove(var Message: TLMMove); message LM_MOVE;
procedure WMSize(var Message: TLMSize); message LM_SIZE;
[...]
wBorder := max(GetSystemMetrics(SM_CXEDGE), GetSystemMetrics(SM_CXBORDER));
hBorder := max(GetSystemMetrics(SM_CYEDGE), GetSystemMetrics(SM_CYBORDER));
wScrollBar := GetSystemMetrics(SM_CXHSCROLL);
hTitleBar := GetSystemMetrics(SM_CYCAPTION);
Regards. Gilles
* : I do not need the "Overlapped" display so I have not developed it.
Screenshots : Debian 8.7 [Laz 64] - Ubuntu 16.04 [Laz 64] - Windows 7 [Laz 32]