Delphi - 将表单最大化到特定屏幕

Sim*_*mon 5 forms delphi maximize-window

我想是一个非常简单的,但我需要能够将表​​单最大化到特定的屏幕.似乎没有找到任何特定于Delphi的信息.

我可以记住后续应用程序加载时的表单位置.但是,当我恢复位置,然后调用时WindowState := wsMaximized,表单移动到另一个屏幕!(我确实在屏幕上也可以看到其他形式 - 它似乎最大化到'活动屏幕')

所以我需要一个像这样的函数:

procedure Maximize(const aScreenIndex : Integer);
begin
 if aScreenIndex < Screen.MonitorCount then
   //Maximize to that screen
end;
Run Code Online (Sandbox Code Playgroud)

Rem*_*eau 5

拦截WM_GETMINMAXINFO消息并MINMAXINFO根据需要调整其结构内的坐标.