W tym artykule zobaczymy, jak utworzyć prosty pasek menu.
W XUL menu można stworzyć na różne sposoby. Najprostszym z nich jest dodanie paska menu wraz z wierszem menu na pasku, w taki sam sposób, jak mają inne programy. Możemy także utworzyć menu wyskakujące. Możliwości wykorzystania menu są zależne od liczby różnych elementów, pozwalających Ci utworzyć prosty pasek menu lub menu wyskakujące. Pozycje w menu możemy dostosować bardzo prosto. Widzieliśmy je w części kursu, pokazującego, jak dodać listy rozwijane stosując element menulist
. W artykule tym opierać będziemy się na zdobytej do tej pory wiedzy.
Paski menu są często tworzone podobnie jak toolbar
. Pasek menu może być umieszczony wewnątrz toolbar
i po jego lewej stronie pojawi się strzałka, która pozwoli na jego rozwinięcie lub zwinięcie. Takie menu będzie działało, tak jak każdy inny pasek narzędzi. XUL posiada kilka specjalnych elementów menu, które dostarczają typowej funkcjonalności menu.
Poniżej znajduje się pięć elementów połączonych z paskiem menu i jego menu, które są wykorzystane poniżej, a w dalszej kursu części omówione są ich szczegóły:
menupopup.
Menu można dostosować do swoich potrzeb, umieszczając w nich dowolne elementy. Odnosi się to do wszystkich platform, oprócz Macintosh, który posiada swoje własne specjalne menu na górze ekranu kontrolowane przez system. Podczas tworzenia własnego menu miej na uwadze, że specjalne reguły stylów lub elementów niebędących elementami menu, które są umieszczone w menu, mogą nie zostać zaimplementowane.

<toolbox flex="1">
<menubar id="sample-menubar">
<menu id="file-menu" label="Plik">
<menupopup id="file-popup">
<menuitem label="Nowy"/>
<menuitem label="Otwórz"/>
<menuitem label="Zapisz"/>
<menuseparator/>
<menuitem label="Zakończ"/>
</menupopup>
</menu>
<menu id="edit-menu" label="Edycja">
<menupopup id="edit-popup">
<menuitem label="Cofnij"/>
<menuitem label="Przywróć"/>
</menupopup>
</menu>
</menubar>
</toolbox>
Jak widzimy, został tu stworzony prosty pasek menu z elementem menubar
. Znajdują się w nim dwa elementy menu
(Plik i Edycja), ułożone poziomo. Tworzą one dwa tytuły, po naciśnięciu, których pojawi się odpowiednie menu wyskakujące menupopup
. Ich rozmiary dostosowują się tak, aby zmieściły się zawarte w nich polecenia. Polecenia te są z kolei tworzone poprzez menuitem
.
W celu oddzielenia grup kilku pozycji w menu stosujemy element menuseparator
, będący separatorem.
menubar menubar
jest polem zawierającym menu. Zwróć uwagę, że został on umieszczony wewnątrz toolbox
. Pasek menu nie posiada specjalnych atrybutów, ale jest on typu pudełkowego. Znaczy to, że powinniśmy utworzyć pionowy pasek menu ustawiając atrybut orient na wartość vertical.

Element menu
zazwyczaj jest umieszczany w pasku menu, ale niekoniecznie musi tak być. Jednak jego wygląd będzie się wtedy jeszcze różnił. Obrazek ukazujący aktualny przykład sprawia wrażenie, jakby nie był w pełni paskiem menu (jest jeszcze wczesne stadium projektowania tegoż paska).
menu Elementy menu zachowują się podobnie, jak elementy przycisków button
. Część atrybutów jest taka sama, a oprócz tego istnieje kilka dodatkowych:
Plik lub Edytuj.
true. Może przyjmować wartości typu boolean - true i domyślnie ustawioną false.
label i następnie dodajemy podkreślenie znaku do używanego w etykiecie znaku. Z tego powodu powinno się używać określanego i istniejącego znaku w jakiejś treści.
menupopup Element menupopup
tworzy wyskakujące menu zawierające komendy. Jest ono typu pudełkowego, domyślnie ustawione pionowo. Można zmienić je na poziome, wtedy menuitem będą wyświetlone w rzędzie. Zazwyczaj menupopup
zawiera elementy typu menuitem
i menuseparator
, ale możesz także wstawić elementy jakiegoś typu (nie będą one jednak wtedy wyświetlane pod Macintoshem).
menuitem Element menuitem
jest podobny do elementu menu i część jego atrybutów jest identyczna:
Otwórz lub Zapisz.
true. Może przyjmować wartości typu boolean - true i domyślną false.
label i następnie dodajemy podkreślenie znaku do używanego w etykiecie znaku. Z tego powodu powinno się używać określanego i istniejącego znaku w jakiejś treści. menuseparator Element menuseparator
nie posiada specjalnych atrybutów. Tworzy po prostu poziomą linię pomiędzy poprzednim, a następnym elementem.
W następnym artykule poznamy dodatkowe możliwości menu.
Page last modified 17:49, 17 gru 2007 by Witia
Wyświetlanie szczegółów:
