PDA

Vollständige Version anzeigen : Monitor ermitteln


Marinsche
19.10.2017, 08:59
Schon lustige "Aufgabe" die ich grad habe.

Bisher öffnet sich aus einem Formular ein PopUp immer zentriert. Das soll aber nun nach Rechts rücken. Kein Problem mit MoveSize und ein paar Twips. Klappt auch wunderbar, bis zu dem Punkt, wo ich Access auf dem 2.Monitor legte. Da kommt das PopUp natürlich weiterhin aufm dem 1. Monitor raus.

Daher die Fragen, wie bringe ich in Erfahrung auf welchem Monitor die Access-Anwendung offen ist?
Das Programm selber muß es ja irgendwie wissen, schließlich öffnet er bei "Zentriert öffnen" es immer auf dem korrekten Monitor.

Form![Formularname].WindowsTop (Left,Width,Height) hilft mir auch nicht weiter, weil es ja nur die Position des Formulars innerhalb der Access-Anwendung widerspiegelt.

Mit morgendlichem Gruß
Marinsche

MisterBurns
19.10.2017, 09:12
Hallo,

tritt das Problem auch auf, wenn das Popup zentriert geöffnet wird?

Marinsche
19.10.2017, 09:18
Hallo,

tritt das Problem auch auf, wenn das Popup zentriert geöffnet wird?

Wie ich sagte: "schließlich öffnet er bei "Zentriert öffnen" es immer auf dem korrekten Monitor"

Also Nein

MisterBurns
19.10.2017, 09:22
Oh, entschuldige bitte, das hatte ich übersehen :-)

Google bringt hier einiges an Suchergebnissen, leider aber für dich kein befriedigendes. Habe selber dazu nur die Info gefunden, dass zentrieren das Problem "löst".

fraeser
19.10.2017, 09:24
Hier wurde das Thema mal behandelt (VB.NET).
Vielleicht hilft es...

https://www.vb-paradise.de/index.php/Thread/98625-Bei-Mehreren-Bildschirm-ermitteln-auf-welchem-Bildschirm-die-Form-aktuell-angeze/

daolix
19.10.2017, 09:26
hallo
die Api MonitorFromRect könnte ggf. helfen.

markusxy
19.10.2017, 09:41
Hier wurde das Thema mal behandelt (VB.NET)

In VB6 oder .net gibt es ja Klassen die einem die direkte Abfrage über das Betriebssystem ersparen. In VBA musst du die Funktionen des Betriebssystem nutzen.

Hier (https://msdn.microsoft.com/en-us/library/windows/desktop/dd145072(v=vs.85).aspx) findest du alles dazu.

Für alle Funktionen findest du in der Regel VBA Beispiele im Web.

LG Markus

Marinsche
19.10.2017, 10:26
Danke für die Antworten, das wird mir an dieser Stelle für das Problem zu umständlich. Bleibt das Fenster halt "zentriert"

Man muß ja nicht alle Nutzerwünsche erfüllen. :-)