Hallo,
mich nervt das auch schon lange. ausserdem werden auch die Einstellungen für den Objektfang rückgängig gemacht.
ich habe mich mal zu lisp-Übungszwecken damit auseinandergesetzt
folgender zwischenstand ist dabei herausgekommen. ich weiss nicht, ob das komfortabel ist, aber funktionieren tut es erstmal. lohnt sich wahrscheinlich nur bei vielen rückgängigschritten. man zoomt zwischenzeitlich zwar mit dem rückgängig mit, aber am ende kommt man wieder bei der vorherigen ansicht heraus. auch der wert für den objektfang wird wieder gesetzt.
für Kritik, Hinweise und alles mögliche bin ich offen, auch weil ich das hier noch nicht so lange mache. ausserdem würde ich das alles mit Vorsicht geniessen, da ich nicht über alle möglichen Folgen bescheid weiss. Bei mir läuft es aber ohne Probleme.
;der befehl oz öffnet eine benutzereingabe
;hier kann man nun den aktuellen Zoom/ aktuelle Ansicht sichern mit "s"
;dann alles rückgängig machen mit "z"
;dann wiederherstellen mit "w"
;dann beenden "b"
(defun GETANSICHT ()
(list
(getvar "VIEWCTR")
(getvar "VIEWSIZE")
)
)
(defun SETANSICHT ( ANSICHT )
(Command "_zoom" "_c" (car ANSICHT)(cadr ANSICHT))
)
(defun c z ( / osmodemerk option aktFenster)
(setq osmodemerk (getvar "osmode"))
(while
(not (or (= option "b")(= option "B")))
(setq option
(getstring "\n<B>eenden o. <Z>urück o. A-fenster <S>ichern/<W>iederherstellen? "
)
);ende setq option
(cond
((or (= option "b") (= option "B")) (print "beendet."))
((or (= option "z") (= option "Z")) (command "_undo" "1"))
((or (= option "s") (= option "S")) (setq aktFenster (getansicht)))
((or (= option "w") (= option "W")) (setansicht aktFenster))
('T "Falscher Parameter wurde eingegeben.")
);ende cond
);ende while
(setvar "osmode" osmodemerk)
);ende defun c z
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP