Dynamiczna zmiana Run-Time Menu

Sprawy związane z interfejsem użytkownika - kontrolki, wskaźniki, wyświetlacze, wykresy oraz inne zagadnienia tego typu...
Awatar użytkownika
Brad PID
Posty: 29
Rejestracja: 24 kwie 2013 01:12
Wersja środowiska: LabVIEW 2012

Dynamiczna zmiana Run-Time Menu

Post autor: Brad PID »

Cześć,

Chciałbym mieć możliwość dynamicznej zmiany wyglądu menu. Patrząc na paletę "Menu" nie ma żadnej opcji aby pokazać albo ukryć element. Można go tylko usuną albo wstawić. Czy ktoś, już przerabiał podobny temat?
Dawid Woźny
Certified LabVIEW Associate Developer
www.optinav.pl
Obrazek
Jamal79
Posty: 289
Rejestracja: 01 maja 2012 14:14
Wersja środowiska: LabVIEW 2012
Lokalizacja: Farum

Dynamiczna zmiana Run-Time Menu

Post autor: Jamal79 »

Witaj, niezbyt duzo poswiecalem temu czasu, bo raczej w malym gronie obslugujemy nasze programy. Ale W helpie masz przyklad, ktory dosc fajnie pokazuje zasade dzialania.
Poszukaj: "Insert Menu Items Function"
Awatar użytkownika
smiga
Administrator
Posty: 799
Rejestracja: 04 paź 2009 12:41
Wersja środowiska: LabVIEW 2016
Lokalizacja: Słupsk

Re: Dynamiczna zmiana Run-Time Menu

Post autor: smiga »

Możesz wyłączyć pewne pozycje w menu po wybraniu innej pozycji z menu (np. po wybraniu języka polskiego, kod poniżej, uaktywnią się pozycje w menu aktualnie nieaktywne, w menu poniżej):
Załączniki
menu.png
menu.png (23.13 KiB) Przejrzano 11329 razy
menu1.png
menu1.png (3.65 KiB) Przejrzano 11329 razy
__ Arkadiusz Śmigielski, tel. 662 01 01 74___
ObrazekObrazekObrazek
Awatar użytkownika
Brad PID
Posty: 29
Rejestracja: 24 kwie 2013 01:12
Wersja środowiska: LabVIEW 2012

Re: Dynamiczna zmiana Run-Time Menu

Post autor: Brad PID »

Cześć,
przede wszystkim dziękuję za zainteresowanie tematem.

@ Jamal79
Tak, help w Labview jest świetny. Poza tym ma dobre przykłady, ale to nie do końca o co mi chodzi.
@ smiga
Mój problem polega na tym, że do wyboru są tylko opcje: enable/disable oraz insert/delete, a nie ma: show/hide.

Może powiem to w inny sposób: Chciałbym, aby normalny użytkownik w ogóle nie wiedział, że jest jakiś inny interfejs. Za pomocą pewnej kombinacji klawiszy powinny się pojawić ukryte opcje serwisowe. Po wykonaniu pewnych operacji program powinien wrócić do normalnego wyglądu. Problem polega na tym, że "ptaszek", który jest połączony z danym elementem menu odzwierciedla stan programu. Jeżeli usunę element, to albo muszę gdzieś przechować informację o dotychczasowym stanie albo nie będę jej w stanie odtworzyć.

Jak pisałem ten post, to doszedłem do wniosku, że w trybie "serwisowym" nie muszę usuwać elementów z normalnego trybu, a informacje z trybu serwisowego nie muszą być zapamiętane. Tak naprawdę, uda mi się osiągnąć cel za pomocą samego insert/delete. Teraz sobie jakoś poradzę, ale jeżeli ktoś ma pomysł na realizację opcji show/hide to będę wdzięczny.
Dawid Woźny
Certified LabVIEW Associate Developer
www.optinav.pl
Obrazek
Jamal79
Posty: 289
Rejestracja: 01 maja 2012 14:14
Wersja środowiska: LabVIEW 2012
Lokalizacja: Farum

Dynamiczna zmiana Run-Time Menu

Post autor: Jamal79 »

A niemozesz poprostu zrobic eventa, ktory aktywuje "enabluje" dodatkowe menue, i do tego eventa skrot klawiszowy, badz dialogboxa z zapytaniem o haslo???
Awatar użytkownika
jogurt_owocowy
Posty: 1317
Rejestracja: 30 lis 2004 00:00
Wersja środowiska: LabVIEW 2015
Lokalizacja: Kraków

Re: Dynamiczna zmiana Run-Time Menu

Post autor: jogurt_owocowy »

Za pomocą pewnej kombinacji klawiszy powinny się pojawić ukryte opcje serwisowe (...) Problem polega na tym, że "ptaszek", który jest połączony z danym elementem menu odzwierciedla stan programu.
Zobacz do załącznika.
Załączniki
Hidden Menu Items Example.vi
LV 2012
(16.5 KiB) Pobrany 477 razy
Awatar użytkownika
Brad PID
Posty: 29
Rejestracja: 24 kwie 2013 01:12
Wersja środowiska: LabVIEW 2012

Re: Dynamiczna zmiana Run-Time Menu

Post autor: Brad PID »

Jak podałeś to rozwiązanie to byłem w szoku. Zacząłem szukać informacji czy można podobny trick zastosować dla elementów w środku menu. Niestety nic nie znalazłem. Twoje rozwiązanie jest świetne do zrobienia tego ukrytego menu.
Dawid Woźny
Certified LabVIEW Associate Developer
www.optinav.pl
Obrazek
Awatar użytkownika
jogurt_owocowy
Posty: 1317
Rejestracja: 30 lis 2004 00:00
Wersja środowiska: LabVIEW 2015
Lokalizacja: Kraków

Dynamiczna zmiana Run-Time Menu

Post autor: jogurt_owocowy »

Zacząłem szukać informacji czy można podobny trick zastosować dla elementów w środku menu.
Nie bardzo. Jedynym przypadkiem, gdy wizualny efekt jest równoznaczny z ukryciem menu, to właśnie ten z przykładu tj. ostatnie menu na pasku.
Chcąc koniecznie ukrywać środkowe elementy jedynym rozwiązaniem, jakie przychodzi mi do głowy jest trzymanie jego struktury w osobnej danej i przebudowywanie go w przypadku ukrywania/pokazywania elementów.
ODPOWIEDZ