Tworzenie okna dialogu > Menu - polecenie

Drukuj

Menu - polecenie symp

Polecenie tworzy w oknie dialogowym menu, mogące wywoływać dowolne akcje w programie. W zależności od rozszerzenia tworzone są różne elementy menu.

Menu Popup tworzy element rozwijanego menu. Do elementu Popup musi być dołączony przynajmniej jeden element typu Item oraz dowolna liczba elementów typu Separator. Każde polecenie Menu Popup musi być zakończone poleceniem Menu End.

Menu Item tworzy pojedyńczy element rozwijanego menu. Tylko te elementy wywołują określone akcje w programie.

Menu Separator tworzy w rozwijanym menu separator (poziomą kreskę) oddzielającą poszczególne elementy typu Item.

Menu Help tworzy element typu Popup, lecz umieszczony z prawej strony okna.

 

Składnia

Menu PopupMenu Item String nazwa, Int command Menu SeparatorMenu End Menu Help

 

Argumenty

Typ

Nazwa

Opis

String

nazwa

Nazwa elementu menu. Umieszczenie w nazwie znaku & powoduje wyświetlenie następnego po nim znaku z podkreśleniem, przez co aktywny staje się klawisz skrótu: Alt + podkreślona litera.

Int

command

Wartość zwracana po wybraniu elementu menu.

Może być tu użyte dowolne wyrażenie obliczane dopiero po wybraniu elementu menu.

W szczególności może być tu wywoływana funkcja otwierająca np. kolejne okno dialogowe. Wartość wyrażenia command ma następujące znaczenie:

0

operacja odwołana, okno pozostaje otwarte, dane w oknie pozostają niezmienione

1

okno pozostaje otwarte, ale dane w oknie zostają ponownie załadowane ze zmiennych

>1

okno zostaje zamknięte, dane zostają przepisane z okna dialogowego do zmiennych, a funkcja ExecForm zwraca podaną wartość

<0

okno zostaje zamknięte, dane nie zostają przepisane do zmiennych, a funkcja ExecForm zwraca podaną wartość

 

Wartość zwracana

Nie zwraca wartości.

 

Przykład

//Określenie wartości początkowej zmiennej
String tekst="Tekst początkowy"
//Wyświetlenie okna dialogowego
Form "Działanie polecenia Menu", 500, 330
Menu Popup "Przykładowe menu"
Menu Item "Nic nie zmieniaj", 0
Menu Item "Załaduj do pola edycyjnego wartość zmiennej", 1
Menu Separator
Menu Item "Zamknij okno zapisując do zmiennej zawartość pola edycyjnego", 3
Menu Item "Zamknij okno bez zmiany wartości zmiennej", -1
Menu End
Menu Help "Menu Help"
Menu Item "Nic nie zmieniaj", 0
Menu End
Edit "Tu wpisz nowy tekst", tekst, 150, 50, 200, 24
Int ko=ExecForm
//Wyświetlenie wyników działania w oknie
Print "Kod zwrócony przez element menu: ", ko, LF
Print "Wartość zmiennej tekstowej: ", tekst, LF
End