So ich bin jetzt soweit, dass die Shapes sichtbar angezeigt werden.
Aber: wenn sich Monitor 2 links neben Monitor 1 befindet, ist Monitor 2 im negativen Bereich, da Monitor 1 immer an Position 0|0 ist:
Delphi-Quellcode:
procedure TForm2.Button1Click(Sender: TObject);
var
p: TPoint;
i: Integer;
aShape: TShape;
begin
for i := 0 to Screen.MonitorCount - 1 do
begin
p := Point(Screen.Monitors[i].Left, Screen.Monitors[i].Top);
aShape := (FindComponent('Shape' + IntToStr(i + 1)) as TShape);
aShape.Left := prozentwert(p.X, 5);
aShape.Top := prozentwert(p.Y, 5);
aShape.Width := prozentwert(Screen.Monitors[i].Width, 5);
aShape.Height := prozentwert(Screen.Monitors[i].Height, 5);
showmessage(IntToStr(aShape.Left) + ' - ' + IntToStr(aShape.Top));
end;
end;