I've two monitor of 1600px width. My primary monitor is on the right, so, for place a form on the left I've to pass a negative value for his Left
property.
procedure TForm1.Button1Click(Sender: TObject);
begin
// (3200 / 2 = + 1600) * -1 = -1600
Left := (Screen.DesktopWidth div 2) * -1;
end;
The result is -1600
that means the most to the left of my secondary monitor.
You also can get the "most Left" position of each monitor by calling Screen.Monitors[i].Left
, something like this code:
procedure TForm1.Button1Click(Sender: TObject);
var
I: Integer;
lMens: string;
begin
lMens := '';
for I := 0 to Screen.MonitorCount - 1 do
begin
lMens := lMens + ' | '
+ Format('%d - Left = %d', [i, Screen.Monitors[i].Left])
end;
ShowMessage(lMens);
end;
I hope that help's you.