Source Editor Maximize

From havefunsoft wiki
Jump to: navigation, search
Maximized source editor in Delphi 7

Back in time of Delphi 7 and IDE was not fully dockable. In fact source window of the and Main window of IDE could not be docked on into another. (Actually nothing could be docked into the main ide window).

However, Delphi 7 had a very nice feature. If a source editor were maximized, its top position would always be below the main ide window.

That might looked like source editor got docked into the main IDE, or to some extent that IDE is multi-window application and source editor is a child window.

This feature was never a part of Lazarus. Thus a source editor would maximize to full screen and cover the main IDE by itself. This caused a certain discomfort. Specifically when in need to access the application menu.

Windows

For the best user experience WM_GETMINMAXINFO must be implemented. The message should be processed by the window and return the position/size of Maximized window. The only trick here is that SourceEditor window is created by IDE, thus the plugin cannot assign the window proc itself. However, LCL puts the window proc as a regular GWL_PROC, which could be reassigned to a desired processing function.

See Also