|
|
Neues Figure an selber Position öffnen (zwei Monitore) |
|
punkNgrind |
Forum-Century
|
|
Beiträge: 136
|
|
|
|
Anmeldedatum: 10.03.11
|
|
|
|
Wohnort: Hamburg
|
|
|
|
Version: R2014b
|
|
|
|
|
|
Verfasst am: 24.10.2016, 10:43
Titel: Neues Figure an selber Position öffnen (zwei Monitore)
|
|
|
|
|
Hallo,
ich habe ein Problem mit der Positionierung eines neuen Fensters, welches ich über ein Callback eines Main-Fensters öffne.
Mein Ziel:
Das Callback im Main öffnet ein weiteres Fenster an der selben Position wie das Main Fenster ist. (Zwei Monitore sind möglich)
Mein Ansatz jetzt:
Callback des Main-Fensters:
Opening-Function des anderen Fensters:
'Units' habe ich alle auf 'normalized' gestellt.
Merkwürdig finde ich, dass wenn ich die Positionsdaten aus Main auslese fast immer auf dem ersten Monitor verweisen, obwohl ich dieses auf dem zweiten geöffnet habe. Dann wird das neue Fenster auch immer auf dem ersten Monitor angezeigt, obwohl Main im zweiten Monitor ist.
Erst wenn ich beim Debuggen und ausprobieren im Command Window die Positionsdaten abfrage, werden irgendwann die richtigen Positionsdaten übernommen. Danach wird das Öffnen des neuen Fensters auch immer richtig vorgenommen.
Sobald ich das Main Fenster wieder schliesse, ist der alte Zustand wieder da.
Sachen die ich im Command Window ausprobiert habe:
Irgendjemand eine Idee, was ich falsch mache?
Viele Dank schon mal im vorraus.
---------------------------------------------------------------------------------------------
EDIT: Was mir auffällt, es gibt ein Zustand in dem die Positionsdaten des Main nicht aktualisiert werden, obwohl ich das Fenster hin- und herschiebe. Kann man eine Aktualisierung erzwingen?
|
|
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.495
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 24.10.2016, 11:53
Titel:
|
|
Hallo,
versuch mal
drawnow
um die Aktualisierung zu erzwingen.
Grüße,
Harald
|
|
|
punkNgrind |
Themenstarter
Forum-Century
|
|
Beiträge: 136
|
|
|
|
Anmeldedatum: 10.03.11
|
|
|
|
Wohnort: Hamburg
|
|
|
|
Version: R2014b
|
|
|
|
|
|
Verfasst am: 24.10.2016, 12:21
Titel:
|
|
Hallo Harald,
wenn ich
drawnow
am Anfang des Callbacks oder am Anfang der OpeningFcn einfüge, hat dies leider keinen Einfluss auf die Positions-Daten.
Schönen Gruß
Lars
P.S.: Das gleiche passiert auch, mit
msgbox
oder
questdlg
...
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.495
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 24.10.2016, 12:45
Titel:
|
|
Hallo,
es bringt nichts, wenn du das am Anfang einfügst. Du musst es genau da einfügen, wo die Aktualisierung stattfinden soll.
Grüße,
Harald
|
|
|
punkNgrind |
Themenstarter
Forum-Century
|
|
Beiträge: 136
|
|
|
|
Anmeldedatum: 10.03.11
|
|
|
|
Wohnort: Hamburg
|
|
|
|
Version: R2014b
|
|
|
|
|
|
Verfasst am: 24.10.2016, 13:05
Titel:
|
|
Ah okay, ich dachte die Positionsangaben von Main wären schon falsch und ich müsste
drawnow
auf Main anwenden.
Ich habe das jetzt am Ende der OpeningFcn eingesetzt:
Und schwups es funktioniert.
Vielen Dank, Harald.
|
|
|
punkNgrind |
Themenstarter
Forum-Century
|
|
Beiträge: 136
|
|
|
|
Anmeldedatum: 10.03.11
|
|
|
|
Wohnort: Hamburg
|
|
|
|
Version: R2014b
|
|
|
|
|
|
Verfasst am: 24.10.2016, 14:54
Titel:
|
|
Ach Mist, das ist es doch nicht!
Das Problem liegt doch eher daran, dass die Positionsdaten aus dem Main nicht immer aktuell sind, wenn diese übergeben werden.
Dies kann ich auch mit get(gcf, 'Position') feststellen, wenn ich das Fenster verschiebe. Kann es sein, dass der Fokus vielleicht mehr auf dem Fenster ist und somit
gcf
falsch ist?
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.495
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 24.10.2016, 15:51
Titel:
|
|
Hallo,
falls es daran liegt, dann kannst du das ja umgehen, indem du statt gcf das genaue Figure Handle angibst.
Grüße,
Harald
|
|
|
punkNgrind |
Themenstarter
Forum-Century
|
|
Beiträge: 136
|
|
|
|
Anmeldedatum: 10.03.11
|
|
|
|
Wohnort: Hamburg
|
|
|
|
Version: R2014b
|
|
|
|
|
|
Verfasst am: 25.10.2016, 10:52
Titel:
|
|
Das Einzige was mir da jetzt einfällt ist:
bzw. das komplette Handle zu übergeben, allerdings bringt mich das nicht weiter.
Über hObject.Parent bekomme ich die gleichen Positionsdaten.
Oder welche Möglichkeiten habe ich im Callback das genaue Figure-Handle der Main zu verwenden?
Kann das Problem vielleicht auch in einer Property-Einstellung im GUIDE liegen?
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.495
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 25.10.2016, 12:10
Titel:
|
|
Hallo,
poste doch bitte mal ein reproduzierbares Minimalbeispiel.
Grüße,
Harald
|
|
|
punkNgrind |
Themenstarter
Forum-Century
|
|
Beiträge: 136
|
|
|
|
Anmeldedatum: 10.03.11
|
|
|
|
Wohnort: Hamburg
|
|
|
|
Version: R2014b
|
|
|
|
|
|
Verfasst am: 25.10.2016, 13:09
Titel:
|
|
Hallo Harald,
ich habe hier mal ein Minimal-Beispiel gebaut. Allderdings funktioniert das hier völlig korrekt.
Vielleicht habe ich im anderen Programm irgendwas falsch gemacht, als ich die 'units' überall auf 'normalized' umgestellt habe...
Schönen Gruß
Lars
Beschreibung: |
Übergabe von Positionsdaten von Main an ein neuem Fenster |
|
Download |
Dateiname: |
Positionsuebergabe.zip |
Dateigröße: |
13.07 KB |
Heruntergeladen: |
408 mal |
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.495
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 25.10.2016, 13:25
Titel:
|
|
Hallo,
Zitat: |
ich habe hier mal ein Minimal-Beispiel gebaut. Allderdings funktioniert das hier völlig korrekt. |
Es müsste schon ein Beispiel sein, in dem das Problem auch auftritt.
Vielleicht kannst du ja noch herausfinden, was in deinem echten Beispiel anders ist.
Grüße,
Harald
|
|
|
punkNgrind |
Themenstarter
Forum-Century
|
|
Beiträge: 136
|
|
|
|
Anmeldedatum: 10.03.11
|
|
|
|
Wohnort: Hamburg
|
|
|
|
Version: R2014b
|
|
|
|
|
|
Verfasst am: 25.10.2016, 13:36
Titel:
|
|
Ja, das war mir schon klar, leider ist das eigentliche Programm schon sehr umfangreich.
Aber trotzdem Danke für deine Hilfe...
|
|
|
|
|
Einstellungen und Berechtigungen
|
|
Du kannst Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen. Du kannst Dateien in diesem Forum posten Du kannst Dateien in diesem Forum herunterladen
|
|
Impressum
| Nutzungsbedingungen
| Datenschutz
| FAQ
| RSS
Hosted by:
Copyright © 2007 - 2024
goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks
MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.
|
|