2 Monitore [erledscht]

Grafische Primitive, XbaseParts und Darstellungsfragen allgemein.

Moderator: Moderatoren

Antworten
Benutzeravatar
Wolfgang Ciriack
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2934
Registriert: Sa, 24. Sep 2005 9:37
Wohnort: Berlin
Hat sich bedankt: 13 Mal
Danksagung erhalten: 34 Mal
Kontaktdaten:

2 Monitore [erledscht]

Beitrag von Wolfgang Ciriack »

Hallo,
das Thema hatten wir zwar schon mal, ich finde trotzdem nicht das richtige für mein Problem.
Ich habe 2 Montitore, verschiebe ein Fenster auf den 2. Monitor.
Jetzt öffne ich aus diesem Fenster (A) auf dem 2. Monitor ein neues Auswahlfenster (B).
Dieses soll seine Position am linken Rand des Monitors geöffnet werden, auf dem sich das Fenster A befindet.
Folgende Werte bekomme ich in (B)
AppDesktop():CurrentSize() = 1920,1200 = Auflösung Monitor 1
SystemParametersInfoA(SPI_GETWORKAREA... ergibt 0,01920,1160
A CurrentPos() = 305, 171
A CurrentSize() = 1310, 898

1. Wie bekomme ich denn heraus, wie meine Gesamtgröße des Desktop ist und
2. dass das Fenster A auf dem 2. Monitor geöffnet ist

Stehe im Moment etwas auf dem Schlauch :(
Viele Grüße
Wolfgang
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15695
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Re: 2 Monitore

Beitrag von brandelh »

Welche aPos gibt denn das Hauptfenster aus, wenn es auf dem zweiten Monitor ist ?
Beim neu geöffneten Fenster hängen die Werte auch vom Parent() ab, wenn es AppDesktop() ist, sollten die X-Werte der Monitore zusammengezählt werden (ich habe keine 2 Monitore hier).
Gruß
Hubert
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21186
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 210 Mal
Danksagung erhalten: 67 Mal

Re: 2 Monitore

Beitrag von Manfred »

ich hatte damals wegen der VX die Frage an den Support gestellt und da habe ich nur die Antwort erhalten:
Danke für ihre mail. Sowas ist immer von Interresse.
Die Unterstützung für mehr als einem Monitor ist bei uns noch auf der
Todo-Liste. Auch der Sachverhalt, dass sich die VX nur auf dem
rechten Monitor betreiben lässt soll so nicht bleiben.
ist aber von 2006. Heißt aber nix, dauert ja eh alles etwas länger. Ist somit also kein Zeitfenster.
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Benutzeravatar
Jan
Marvin
Marvin
Beiträge: 14651
Registriert: Fr, 23. Sep 2005 18:23
Wohnort: 49328 Melle
Hat sich bedankt: 21 Mal
Danksagung erhalten: 88 Mal
Kontaktdaten:

Re: 2 Monitore

Beitrag von Jan »

Manfred,

ich arbeite mit VX auf 2 Monitoren und auf 3 Monitoren. Da habe ich kein Problem mit, das auf einem beliebigen Monitor laufen zu lassen. Oder zu starten.

Mich irritiert allerdings: Seitdem ich auf einem Arbeitsplatz auf drei Monitore aufgerüstet habe, VX startet immer auf Numemr 2, starten die Programme auf F9 manchmal auf Monitor zwei und manchmal auf Montor 3 (wo ich die gerne manuell hinschiebe). Aber die starten nie auf Monitor 1.

Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21186
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 210 Mal
Danksagung erhalten: 67 Mal

Re: 2 Monitore

Beitrag von Manfred »

Du hast meinen Beitrag genau gelesen?
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Benutzeravatar
Jan
Marvin
Marvin
Beiträge: 14651
Registriert: Fr, 23. Sep 2005 18:23
Wohnort: 49328 Melle
Hat sich bedankt: 21 Mal
Danksagung erhalten: 88 Mal
Kontaktdaten:

Re: 2 Monitore

Beitrag von Jan »

Nein. Wieso sollte ich Deinen Beitrag lesen bevor ich darauf antworte?

Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21186
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 210 Mal
Danksagung erhalten: 67 Mal

Re: 2 Monitore

Beitrag von Manfred »

weil Deine Antwort darauf schließen läßt. Oder Du hast Ihn nicht verstanden.

OK, dann erkläre ich ihn Dir. :wink:

Ich schrieb das es eine Frage zu der VX war, aber die Antwort an sich war die wichtige. Nämlich, dass ein Mehrmonitorbetrieb noch nicht umgesetzt ist, aber auf der Liste bei Alaska steht. Und das könnte das Problem sein, mit dem Wolfgang zu kämpfen hat. Es ist eine UND Verknüpfung

Alles klar?
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Benutzeravatar
Wolfgang Ciriack
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2934
Registriert: Sa, 24. Sep 2005 9:37
Wohnort: Berlin
Hat sich bedankt: 13 Mal
Danksagung erhalten: 34 Mal
Kontaktdaten:

Re: 2 Monitore

Beitrag von Wolfgang Ciriack »

Hallo Hubert,
ja, das Hauptfenster zeigt die Position richtig an (1912,32).
Darin wird jetzt ein Fenster A aufgemacht mit Owner = HauptFenster.
Aus A dann ein neues Fenster in dem ich jetzt die Position des Owners von A bekommen müsste....
Viele Grüße
Wolfgang
Benutzeravatar
Wolfgang Ciriack
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2934
Registriert: Sa, 24. Sep 2005 9:37
Wohnort: Berlin
Hat sich bedankt: 13 Mal
Danksagung erhalten: 34 Mal
Kontaktdaten:

Re: 2 Monitore

Beitrag von Wolfgang Ciriack »

Danke Hubert, dein Hinweis auf den Parent hat mich auf den richtigen weg gebracht.
Bekomme jetzt die Position mit

Code: Alles auswählen

oP1:=GetParentForm(SetAppFocus())
aP:=oP1:owner:CurrentPos()
Viele Grüße
Wolfgang
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15695
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Re: 2 Monitore [erledscht]

Beitrag von brandelh »

Parent und Owner darf man nicht verwechseln :!:

Ein Freies Fenster hat als Parent() den Desktop, gehört (Owner) aber z.B. zu deiner Anwendung.
Wenn der Desktop der Parent() ist, sind die SetPos() Angaben auf diesen bezogen.
Wenn man dann das freie Fenster an den Owner angleichen will, muss man dort nach Position und Größe abfragen.

In diesem Fall sollte man auch mit SetAppWindow() das aktuelle Fenster einstellen, sonst ist der Focus nach einer MsgBox immer auf dem anderen (mit SetAppWindow() eingestellten).
Mein Anwendungshauptfenster merke ich mir deshalb in einer eigenen Funktion RootWindow() ;-) (abgeschrieben vom MDI Beispiel).
Gruß
Hubert
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12906
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 45 Mal

Re: 2 Monitore [erledscht]

Beitrag von AUGE_OHR »

brandelh hat geschrieben:Funktion RootWindow()
das gibt es in der v1.9x doch als

Code: Alles auswählen

GetApplication():Mainform
gruss by OHR
Jimmy
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15695
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Re: 2 Monitore [erledscht]

Beitrag von brandelh »

Mein Framework ist älter und warum sollte ich alles ändern ;-)
Gruß
Hubert
Antworten