Difference between revisions of "Source Editor Maximize"
m |
m |
||
(2 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
[[Image:Delphi maximize.png|thumb|Maximized source editor in Delphi 7]] | [[Image:Delphi maximize.png|thumb|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). | 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). | ||
Line 8: | Line 7: | ||
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. | 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== | ||
+ | *[http://wiki.freepascal.org/Source_Editor_Maximizer Wiki at Free Pascal] | ||
+ | *[https://github.com/skalogryz/semax Semax Github] | ||
+ | [[Category:Lazarus Extension]] |
Latest revision as of 23:58, 17 December 2015
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.