Hallo, Leute!
Danke für diese Hinweise - ich hatte wohl ein Brett vorm Kopf, aber nun habe ich es wirklich verstanden!
Habe dann auch mal meine Bildschirme umkonfiguriert und das Problem nachvollziehen können.
Also: Die Position eines Fensters bezieht sich immer auf den Primärbildschirm, nicht auf den gesamten Desktop.
Um die horizontale Desktopmitte zu ermitteln, wenn Bildschirm 2 links steht, müsste man Desktopbreite/2-Bilschirmbreite(2) rechnen.
Das funktioniert zwar (bei euch), aber halt nur bei dieser Konfiguration...
Ich habe daher dem cX.Bildschirm-Namensraum noch zwei Pro-Platzhalter spendiert:
cX.Bildschirm(<Id>).DesktopX X-Position der linken oberen Ecke des Desktop (je nach Monitor-Verteilung auch unter 0)
und natürlich DesktopY.
Auf diese Weise kann mit dem nun bekannten Darstellungsbereich des Desktop (zusammen mit DesktopBreite und -Höhe) die Mitte des gesamten Desktops berechnen.
Allerdings würde ich das mit großer Vorsicht anwenden, da die Monitore ja kreuz und quer angeordnet sein können, auch mit Lücken, daher ist bei einer solche Positionierung des Fensters nicht sicher, dass es überhaupt auf jeder Konfiguration richtig sichtbar wird.
Liebe Grüße
Stefan