łączenie aplikacji
łączenie aplikacji
Witam,
mam program który skalda się z panelu głównego oraz 4 podprogramów (osobne vi) które są wywoływane z tegoż panelu z wykorzystaniem Run Time Menu. Jak to zrobić, aby minimalizując okno głównego panelu minimalizować również wywołane podprogramy ? Na razie mam tak, że minimalizując główny panel, podprogramy pozostają na ekranie.
pozdro
mam program który skalda się z panelu głównego oraz 4 podprogramów (osobne vi) które są wywoływane z tegoż panelu z wykorzystaniem Run Time Menu. Jak to zrobić, aby minimalizując okno głównego panelu minimalizować również wywołane podprogramy ? Na razie mam tak, że minimalizując główny panel, podprogramy pozostają na ekranie.
pozdro
- Pitol
- Moderator
- Posty: 982
- Rejestracja: 19 lip 2007 00:00
- Wersja środowiska: LabVIEW 2019
- Lokalizacja: Kraków
łączenie aplikacji
Nie wiem jak wygląda u Ciebie architektura głównego programu, ale jeśli możesz to skorzystaj ze struktury Event i wyłap zdarzenie minimalizowania programu głównego. Jak to Ci się uda, to już w prosty sposób (mając referencje do pozostałych programów) możesz je również minimalizować. To samo można zrobić z maksymalizacją.
Nie zamieszczam przykładu, bo chcę żebyś sam popróbował to zrobić. Jak będziesz miał problemy to pisz, będziemy więcej wyjaśniać.
Nie zamieszczam przykładu, bo chcę żebyś sam popróbował to zrobić. Jak będziesz miał problemy to pisz, będziemy więcej wyjaśniać.
Re: łączenie aplikacji
Witam,
tak przegladam ta strukture Event i jedyne co moglo by się nadac to chyba Panel Resize. Ale nie wiem czy dobrze kombinuję.
pozdro
tak przegladam ta strukture Event i jedyne co moglo by się nadac to chyba Panel Resize. Ale nie wiem czy dobrze kombinuję.
pozdro
- Pitol
- Moderator
- Posty: 982
- Rejestracja: 19 lip 2007 00:00
- Wersja środowiska: LabVIEW 2019
- Lokalizacja: Kraków
łączenie aplikacji
Dobrze kombinujesz. W zdarzeniu Panel Resize masz dostępne kilka własności, np. Act. Zwraca on informację o aktualnym stanie okna (Minimized, Maximized, Resized).
Jeśli zminimalizujesz okno wykona się to zdarzenie, a własność Act zwróci wartość Minimized. Dalej to już z górki
Jeśli zminimalizujesz okno wykona się to zdarzenie, a własność Act zwróci wartość Minimized. Dalej to już z górki
Re: łączenie aplikacji
Faktycznie zwraca co trzeba, ale z tej "górki" to już nie za bardzo wiem jak zjechać.
pozdro
pozdro
- Pitol
- Moderator
- Posty: 982
- Rejestracja: 19 lip 2007 00:00
- Wersja środowiska: LabVIEW 2019
- Lokalizacja: Kraków
łączenie aplikacji
Gdzie utknąłeś?
Powiedzmy, że Twój program wychwycił już zdarzenie "Panel Resize". Z węzła Act odczytujesz, że nastąpiła akcja "Minimized".
Teraz musisz sprawić, żeby pozostałe Twoje okienka również się zminimalizowały.
Jak?
Musisz mieć dostęp do referencji do tych okienek. Następnie za pomocą węzła własności (Property Node) ustawiasz stan panelu.
Poszperaj za odpowiednią własnością. Jak polegniesz to daj znać, to podpowiem ;)
Najprościej będzie poćwiczyć i stworzyć dwa VI. Pierwszy np. okno.vi będzie cały czas uruchomiony. Drugim np. main.vi będzie za pomocą referencji zmieniał stan tego pierwszego (wg przepisu opisanego wyżej). Jak Ci sie to uda zrobić to potem to sobie wrzuć do swojej aplikacji.
Powiedzmy, że Twój program wychwycił już zdarzenie "Panel Resize". Z węzła Act odczytujesz, że nastąpiła akcja "Minimized".
Teraz musisz sprawić, żeby pozostałe Twoje okienka również się zminimalizowały.
Jak?
Musisz mieć dostęp do referencji do tych okienek. Następnie za pomocą węzła własności (Property Node) ustawiasz stan panelu.
Poszperaj za odpowiednią własnością. Jak polegniesz to daj znać, to podpowiem ;)
Najprościej będzie poćwiczyć i stworzyć dwa VI. Pierwszy np. okno.vi będzie cały czas uruchomiony. Drugim np. main.vi będzie za pomocą referencji zmieniał stan tego pierwszego (wg przepisu opisanego wyżej). Jak Ci sie to uda zrobić to potem to sobie wrzuć do swojej aplikacji.
łączenie aplikacji
Przepraszam, że się wtrącam w dyskusję, ale zamiast Invoke Node użyj Property Node - Front Panel Window -> State
- Pitol
- Moderator
- Posty: 982
- Rejestracja: 19 lip 2007 00:00
- Wersja środowiska: LabVIEW 2019
- Lokalizacja: Kraków
łączenie aplikacji
No prawie Ci się udało.
Musisz skorzystać z własności Front Panel Window -> State. I tyle ;)
Powodzenia.
Musisz skorzystać z własności Front Panel Window -> State. I tyle ;)
Powodzenia.
Re: łączenie aplikacji
No prawie mi się udało ;), dzięki.
Re: łączenie aplikacji
Witam,
mam jeszcze do tego pytanie. A co zrobić jak chcę 4 okienka zminimalizować na raz ? Powielić te funkcje ?
pozdro
mam jeszcze do tego pytanie. A co zrobić jak chcę 4 okienka zminimalizować na raz ? Powielić te funkcje ?
pozdro
- Pitol
- Moderator
- Posty: 982
- Rejestracja: 19 lip 2007 00:00
- Wersja środowiska: LabVIEW 2019
- Lokalizacja: Kraków
łączenie aplikacji
Wrzuć ścieżki plików (bo w taki sposób widzę, że wyciągasz referencje) do tablicy i funkcjonalność minimalizacji wrzuć w pętlę FOR. Po co kopiować skoro mamy pętle ;)
Re: łączenie aplikacji
Witam,
mam następne pytanie, nie wiem czy to nie powinien być nowy temat (Moderator zdecyduje) ale to się wszystko łączy. Mianowicie jak zamknąć jednocześnie te wszystkie programy z mojego Panelu głównego ? Najlepiej by było gdyby to się dało zrobić "krzyżykiem" z Panelu.
pozdro
mam następne pytanie, nie wiem czy to nie powinien być nowy temat (Moderator zdecyduje) ale to się wszystko łączy. Mianowicie jak zamknąć jednocześnie te wszystkie programy z mojego Panelu głównego ? Najlepiej by było gdyby to się dało zrobić "krzyżykiem" z Panelu.
pozdro
- Pitol
- Moderator
- Posty: 982
- Rejestracja: 19 lip 2007 00:00
- Wersja środowiska: LabVIEW 2019
- Lokalizacja: Kraków
łączenie aplikacji
Identycznie... Tylko zdarzenie inne (Panel Close). A w zdarzeniu zamiast FP.State skorzystaj z metody FP.Close.
Re: łączenie aplikacji
Witam,
no ale "krzyżykiem" windowsowym chyba nie bardzo to można zrobić ?
pozdro
no ale "krzyżykiem" windowsowym chyba nie bardzo to można zrobić ?
pozdro