| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
Autor
|
Thema: Bildschirm-Koordinaten?? (1380 mal gelesen)
|
joern bosse Ehrenmitglied Dipl.-Ing. Vermessung
Beiträge: 1734 Registriert: 11.10.2004 Window 10 ACAD 2021 CIVIL 2021 BricsCAD V14-V22 Intel(R) Core(TM)i5-8250U CPU @ 1.60GHz 1.80 GHz 16.0GB RAM NVIDIA GeForce GTX 1050<P>
|
erstellt am: 10. Dez. 2013 11:21 <-- editieren / zitieren --> Unities abgeben:
Hallo, ich habe mal wieder ein kleines Problem. Wenn ich Dialoge mit OpenDCL starte, dann speicher ich beim Beenden die Bildschirmkoordinaten des Dialogfensters, damit ich diese beim nächsten Aufstarten wieder setzen kann. Der Benutzer findet so das Fenster immer an der Position wieder, wie er es auch verlassen hat. Wenn jetzt aber z.B. von 2 auf einen Bildschirm reduziert wird, dann kann es sein, daß sich die gespeicherte Koordinate im "toten" Bereich befindet, das Dialogfenster wird zwar gestartet, ist aber für den Benutzer nicht zu sehen. Habe ich die Möglichkeit, mir die maximalen Werte für X und Y des aktuellen Bildschirmes ausgeben zu lassen? Dann könnte ich die gespeicherten Koordinaten damit abgleichen und notfalls neu initialisieren. Hier noch mal ein prinzipielles Beispiel meiner Vorgehensweise:
Code:
(if LastCoord (dcl_Form_Show odcl_TEST (car LastCoord)(cadr LastCoord)) (dcl_Form_Show odcl_TEST) )(defun c:TEST_odcl_TEST_OnClose (intUpperLeftX intUpperLeftY /) (setq LastCoord (list intUpperLeftX intUpperLeftY)) )
------------------ viele Grüße Jörn http://www.bosse-engineering.com Koordinaten einlesen Youtube Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADwiesel Moderator CAD4FM UG
Beiträge: 1968 Registriert: 05.09.2000 AutoCAD, Bricscad Wir machen das Mögliche unmöglich
|
erstellt am: 10. Dez. 2013 12:26 <-- editieren / zitieren --> Unities abgeben: Nur für joern bosse
|
joern bosse Ehrenmitglied Dipl.-Ing. Vermessung
Beiträge: 1734 Registriert: 11.10.2004 Window 10 ACAD 2021 CIVIL 2021 BricsCAD V14-V22 Intel(R) Core(TM)i5-8250U CPU @ 1.60GHz 1.80 GHz 16.0GB RAM NVIDIA GeForce GTX 1050<P>
|
erstellt am: 10. Dez. 2013 12:47 <-- editieren / zitieren --> Unities abgeben:
|
CADchup Ehrenmitglied V.I.P. h.c.
Beiträge: 3329 Registriert: 14.03.2001 Sicher ist, dass nichts sicher ist. Selbst das nicht. Joachim Ringelnatz
|
erstellt am: 10. Dez. 2013 13:39 <-- editieren / zitieren --> Unities abgeben: Nur für joern bosse
|
cadffm Moderator 良い精神
Beiträge: 21533 Registriert: 03.06.2002 Alles
|
erstellt am: 10. Dez. 2013 13:42 <-- editieren / zitieren --> Unities abgeben: Nur für joern bosse
|
CADwiesel Moderator CAD4FM UG
Beiträge: 1968 Registriert: 05.09.2000 AutoCAD, Bricscad Wir machen das Mögliche unmöglich
|
erstellt am: 10. Dez. 2013 13:46 <-- editieren / zitieren --> Unities abgeben: Nur für joern bosse
Hier mal der code um dein Windooffenster zu bekommen Code: (defun c:getscr(/ item lst meth1 meth2 WMI) (setq WMI (vlax-create-object "WbemScripting.SWbemLocator") meth1 (vlax-invoke WMI 'ConnectServer nil nil nil nil nil nil nil nil) ;_ end of vlax-invoke meth2 (vlax-invoke meth1 'ExecQuery "Select * from Win32_DesktopMonitor" ) ;_ end of vlax-invoke ) ;_ end of setq (vlax-for item meth2 (princ "\nScreen Width:") (princ (vlax-get item 'ScreenWidth)) (princ "\nScreen Height:") (princ (vlax-get item 'ScreenHeight)) ) ;_ end of vlax-for (foreach item (list WMI meth1 meth2) (vlax-release-object item) ) ;_ end of foreach (vl-remove nil lst) )
------------------ Gruß CADwiesel Besucht uns im CHAT
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
joern bosse Ehrenmitglied Dipl.-Ing. Vermessung
Beiträge: 1734 Registriert: 11.10.2004 Window 10 ACAD 2021 CIVIL 2021 BricsCAD V14-V22 Intel(R) Core(TM)i5-8250U CPU @ 1.60GHz 1.80 GHz 16.0GB RAM NVIDIA GeForce GTX 1050<P>
|
erstellt am: 10. Dez. 2013 14:04 <-- editieren / zitieren --> Unities abgeben:
|