Mam 2 ekrany na moim komputerze. Kiedy wdrażam SolidWorks na tych 2 ekranach, zawsze mam oddzielne elementy na 2, nigdy na ekranie Straddle. Ale jeśli np. mam zespół na lewym ekranie, wskazuję na jedną z jego części i otwieram ją, pojawia się na 2 ekranach, a ja muszę iść i "powiedzieć" mu, na którym ekranie ma się wyświetlić. Zachowanie uprzejmości jest bardzo bolesne, ponieważ musisz dokonywać manipulacji za każdym razem, gdy otwierasz plik.
Pytanie jest więc następujące: czy możemy powiedzieć, aby otwierał się automatycznie na jednym z 2 ekranów (lewym lub prawym), a nawet, aby otwierał się bezpośrednio na ekranie, na którym byłem?
Jestem na SW13
Z góry dziękuję
PS: Wolałbym prawdziwą odpowiedź niż linki internetowe lub samouczki. Chyba, że nie możesz tego przeciąć! Dziękujemy za zrozumienie. :)
FYI, czy wiesz, że w prawym górnym rogu każdego aktywnego okna SolidWorks (obok krzyżyka, aby zamknąć) znajdują się dwa małe przyciski, aby przełączyć to okno bezpośrednio w prawo lub w lewo?
Podobnie jak w przypadku Lucasa z bi-screenem od SW2013, obok krzyżyka zamykającego pliki znajdują się ikony zarządzania. Może właśnie tam powinniśmy szukać.
@XabiB Nie widzę różnicy, czy naciskam Alt? Czy możesz powiedzieć mi coś więcej?
Próbuję makr równolegle, nie nauczyłem się ich, ale nie działa to świetnie :/ Przesuwa okno tylko częściowo. Może wynika to też z tego, że mam 2 ekrany o różnych rozmiarach i rozdzielczościach ?
Odpowiadając na twoje pytanie, właśnie przetestowałem i ostatecznie zmienia tylko położenie i rozmiar okna w kierunku wybranego ekranu (zgodnie z kliknięciem mozaiki)...
Więc bezużyteczne dla Ciebie, zwłaszcza jeśli masz 20 plików do zmiany położenia ;-)
Więc przeszedłem przez makra (dziękuję za pomoc @Lucas). W tym przypadku 2: Left.swp i Right.swp. Mój lewy ekran jest główny i największy, lewy drugorzędny, mniejszy i w formacie 4/3.
Więc dam ci kod + makra w załączonych plikach
Left.swp (po lewej)
Dim swApp As Object
Przyciemnij część jako obiekt Dim boolstatus As Boolean Dim longstatus As Long, longwarnings As Long
Sub main()
Ustaw swApp = _ Aplikacja.SldWorks
Ustaw część = swApp.ActiveDoc Ustaw część = swApp.ActiveDoc Przyciemnij myModelView jako obiekt Ustaw myModelView = Part.ActiveView myModelView.FrameLeft = 0 – Zarzynaj okno na górze myModelView.FrameTop = 0 "Zaklinuj okno po lewej stronie myModelView.FrameWidth = 1910 Szerokość okna, którą należy dostosować do rozdzielczości lewego ekranu myModelView.FrameHeight = 855 Wysokość okna, którą należy dostosować do rozdzielczości lewego ekranu Ustaw myModelView = Part.ActiveView myModelView.FrameState = swWindowState_e.swWindowNormal Koniec subwoofera
oraz Right.swp
Dim swApp As Object
Przyciemnij część jako obiekt Dim boolstatus As Boolean Dim longstatus As Long, longwarnings As Long
Sub main()
Ustaw swApp = _ Aplikacja.SldWorks
Ustaw część = swApp.ActiveDoc Ustaw część = swApp.ActiveDoc Przyciemnij myModelView jako obiekt Ustaw myModelView = Part.ActiveView myModelView.FrameLeft = 1912 – Zarzynaj okno na górze myModelView.FrameTop = 0 "Zaklinuj okno po lewej stronie myModelView.FrameWidth = 1273 Szerokość okna, którą należy dostosować do rozdzielczości lewego ekranu myModelView.FrameHeight = 855 Wysokość okna, którą należy dostosować do rozdzielczości lewego ekranu Ustaw myModelView = Part.ActiveView myModelView.FrameState = swWindowState_e.swWindowNormal Koniec subwoofera
@Lucas nie działa to zgodnie z oczekiwaniami, w przykładzie, który podałem w pytaniu, mozaika jest wykonywana na ekranie, na którym znajduje się montaż!
Ale mam już skróty do robienia mozaik poziomych lub pionowych (H i V).
Potem jest to kwestia punktu widzenia, ale moja częściowa odpowiedź daje dokładnie taką odpowiedź, jakiej chciałby ktoś, kto tworzy makro. Twoje makro nie będzie działać na moim komputerze, na przykład dlatego, że nie mam tych samych ekranów.
Jestem za tym, aby ludzie próbowali robić własne makra i nie lubię przeżuwać pracy!
VBA jest bardzo potężny i bardzo przydatny dla wielu programów! Dlatego bardzo dobrze jest zacząć, ale posiadanie gotowego kodu nie pomoże Ci w pisaniu własnych makr!
Ale hej, będę wiedział o twoich następnych pytaniach dotyczących makr, że nie poświęcę czasu, aby na nie odpowiedzieć!
Ja bym tego tak nie postrzegał: my pomagamy ludziom i jest system, który nagradza tych, którzy zainwestowali najwięcej. To ciekawy plus. Ale dlaczego miałbym poświęcać czas wiedząc, że nigdy nie napiszę pełnego makra, ponieważ myślę, że to nie pomaga ludziom!