我想是一个非常简单的,但我需要能够将表单最大化到特定的屏幕.似乎没有找到任何特定于Delphi的信息.
我可以记住后续应用程序加载时的表单位置.但是,当我恢复位置,然后调用WindowState:= wsMaximized时,表单移动到另一个屏幕! (我确实在屏幕上也可以看到其他形式 – 它似乎最大化到’活动屏幕’)
procedure Maximize(const aScreenIndex : Integer); begin if aScreenIndex < Screen.MonitorCount then //Maximize to that screen end;
解决方法
拦截WM_GETMINMAXINFO消息并根据需要调整其MINMAXINFO结构内的坐标.