Startseite
Amiforce 2.1     Amiforce-News Amiforce-News Amiforce-Forum Amiforce-Forum Amiforce-Chat/IRC-Chat Amiforce-Chat/IRC-Chat Gästebuch Gästebuch Kontakt mit dem Webmaster aufnehmen Kontakt mit dem Webmaster aufnehmen

Amiblitz3
Amiblitz2(alt)
Storm Wizard
Abakus-Design
Helpguide
Toolsguide
Tipps&Tricks
Gamesfun
Links
Download
Musik

Bugfixes am Forum
Subdomains aktiviert
Counterscript entfernt
  Navigation:   Index /  Amiblitz /  Amiblitz Lesematerial /  Ab2 Referenzhandbuch (index) /  Ab2 Referenzhandbuch (Kapitel 37) / 

Referenzhandbuch



Referenzhandbuch

Kapitel 37


Kapitel 36 Inhaltsverzeichnis Kapitel 38

Menüs


Blitz2 beinhaltet viele Befehle, um Intuition-Menüs zu entwerfen und anzuwenden.

Die Verwendung von Menüs erfolgt durch Menülistenobjekten. Jede Menüliste beinhaltet einen Satz von Menütiteln, Menüpunkten und wenn nötig Menüunterpunkten. Mit dem SetMenu-Kommando wird eine Menüliste einem Window zugewiesen. Jedes Window kann eine eigene Menüliste haben. Dies erlaubt einerseits für jedes Window eine eigene Liste, andererseits kann eine Liste aber auch für mehrere Windows verwendet werden.

  • MenuTitle
  • MenuItem
  • ShapeItem
  • SubItem
  • ShapeSub
  • SetMenu
  • MenuGap
  • SubItemOff
  • MenuState
  • MenuColour
  • MenuChecked



  • Index

    Befehl: MenuTitle

    Syntax: MenuTitle Menülistennummer,Menü,Titel$

    Modus: Amiga/Blitz


    MenuTitle wird benutzt, um einen Menütitel (Überschrift) in eine Menüliste einzufügen. Die Menütitelleiste wird angezeigt, wenn die rechte Maustaste gedrückt wird und Menüpunkte hinzugefügt wurden.

    Menü bestimmt die Reihenfolge der Titel. Höher numerierte Menüs erscheinen weiter rechts in der Menüleiste, mit 0 beginnt das Menü links. Menütitel werden von links nach rechts hinzugefügt, begonnen wird mit dem Erzeugen von Menü 0 als erstem Menü, dann Menü 1 und so weiter...

    Titel$ ist der Text, der angezeigt werden soll, wenn die rechte Maustaste gedrückt wird.

    Beispiel:

      MenuTitle 0,0,"PROJECT"     ;erstelle einen Menütitel
      MenuItem 0,0,0,0,"QUIT"     ;und einen Eintrag
      MenuTitle 0,1,"EDIT"        ;ein anderer Titel
      MenuItem 0,0,1,0,"CUT"      ;und noch ein paar Teile
      MenuItem 0,0,1,1,"COPY"     ;...
    
      Screen 0,3,"Menus Example"  ;ein Intuition-Bildschirm und ein Window
    
      Window 0,0,12,320,DispHeight-12,$100f,"Rechte Maustaste halten...",1,0
    
      SetMenu 0                   ;Menüliste dem Window hinzufügen
    
      Repeat                      ;warte ... bis 'QUIT' angewählt wird
      Until WaitEvent=256 AND MenuHit=0 AND ItemHit=0
    


    siehe auch: MenuItem, ShapeItem, SubItem, ShapeSub



    Index

    Befehl: MenuItem

    Syntax: MenuItem Menülistennummer,Flags,Menü,Item,Itemtext$[,Shortcut$]

    Modus: Amiga/Blitz


    MenuItem erstellt einen Textmenüpunkt. Die Menüpunkte werden "heruntergeklappt", wenn mit gedrückter rechter Maustaste über den dazugehörigen Menütitel gefahren wird.

    Flags beeinflußt den Menüpunkt folgendermaßen:

    Ein Wert von 0 erzeugt einen "normalen" Auswahl-Menüpunkt.

    Ein Wert von 1 erzeugt einen "Toggle"-Menüpunkt. Toggle-Menüpunkte wechseln bei der Anwahl zwischen einem "AN"- oder "AUS"-Status. Ein "AN"-Toggle-Menüpunkt wird durch einen "Haken" oder einer Kontrollmarke identifiziert.

    Ein Wert von 2 erzeugt eine spezielle Art eines Toggle-Menüpunktes. Jeder Menüpunkt, der unter demselben Menü mit gesetzten Flag 2 erzeugt wird, ist exklusiv veränderlich. Dies bedeutet, daß sich zur selben Zeit nur ein Punkt im "AN"-Status befinden kann. Wenn ein Menüpunkt dieser Art in den "AN"-Status geschaltet wird, schalten alle anderen exklusiv veränderlichen Menüpunkte, die auf "AN" stehen können, automatisch auf "AUS".

    Flags-Werte von 3 und 4 arbeiten wie 1 und 2, allerdings erhält der Menüpunkt bei der Initialisierung einen "AN"-Status.

    Menü kennzeichnet den Menütitel, unter dem der Menüpunkt erscheinen soll.

    Item ist die Menüpunktnummer, unter der der Menüpunkt verwaltet wird. Menüpunkte werden von oben nach unten hinzugefügt, wobei 0 ganz oben erscheint. Höhere Nummern werden nach unten angefügt.

    Itemtext$ ist der aktuelle Text für den Menüpunkt

    Shortcut ist optional. Hier kann eine 1-Zeichen-Tastatur-Kurzwahl für den Menüpunkt angegeben werden.

    Beispiel:

      MenuTitle 0,0,"Testing"                          ;erstelle einen Menütitel
      MenuItem 0,0,0,0,"Load","L"                      ;und ein Item (mit ShortCut!)
      MenuItem 0,0,0,1,"Save","S"                      ;ein anderes Item
      MenuItem 0,1,0,2,"ASCII ?"                       ;dies ist ein Toggle-Item!
      MenuItem 0,0,0,3,"QUIT!!!!!"
    
      Screen 0,3                                       ;ein Intuition-Bildschirm
    
      Window 0,0,12,320,DispHeight-12,$100f,"Select a Menu...",1,2
    
      SetMenu 0
    
      Repeat                                           ;auf 'Quit' warten
                                                       ;hier nach bestimmten Menüs checken
      Until WaitEvent=256 AND MenuHit=0 AND ItemHit=3
    


    siehe auch: MenuTitle, ShapeItem, SubItem, ShapeSub



    Index

    Befehl: ShapeItem

    Syntax: ShapeItem Menülistennummer,Flags,Menü,Item,Shapenummer

    Modus: Amiga/Blitz


    ShapeItem erstellt einen Grafikmenüpunkt. Shapenummer gibt das Shapeobjekt an, das als Grafik für den Menüpunkt dient. Alle anderen Parameter sind identisch mit den MenuItem-Parametern.

    Beispiel:

      Screen 0,3                         ;ein Intuition-Bildschirm
      ScreensBitMap 0,0                  ;benutze seine Bitmap
      BitMapOutput 0                     ;'Print' auf Bitmap umleiten
      Cls                                ;lösche Bitmap
      Print "LoadSaveQuit"               ;etwas schreiben
      GetaShape 0,0,0,32,8               ;'Load' als Shape 0
      GetaShape 1,32,0,32,8              ;'Save' als Shape 1
      GetaShape 2,64,0,32,8              ;und 'Quit' als Shape 3
      Cls                                ;Bitmap wieder löschen
      MenuTitle 0,0,"PROJECT"            ;einen Menütitel erzeugen
      For k=0 To 2                       ;alle drei Shapes bearbeiten
        Scale k,4,2                      ;einen bißchen strecken
        ShapeItem 0,0,0,k,k              ;Shape als Menüeintrag benutzen
      Next
    
      Window 0,0,0,320,DispHeight,$100f,"Select a menu!",1,2
      SetMenu 0                          ;Menüliste dem Window hinzufügen
      Repeat                             ;auf Quit warten
      Until WaitEvent=256 AND MenuHit=0 AND ItemHit=2
    


    siehe auch: MenuTitle, MenuItem, SubItem, ShapeSub



    Index

    Befehl: SubItem

    Syntax: SubItem Menülistennummer,Flags,Menu,Item,Subitem,Subitemtext$[,Shortcut$]

    Modus: Amiga/Blitz


    An jedem Menüpunkt kann eine optionale Untermenüpunktliste angefügt werden. Um einen Submenüpunkt an einen Menüpunkt zu fügen, benutzen Sie das SubItem-Kommando.

    Item kennzeichnet den Menüpunkt an dem der Untermenüpunkt angefügt wird.

    Subitem ist die Untermenüpunktnummer, unter der der Untermenüpunkt verwaltet wird. Untermenüpunkte werden von oben nach unten hinzugefügt, wobei 0 ganz oben erscheint. Höhere Nummern werden nach unten angefügt.

    Subitemtext$ ist der aktuelle Text für den Untermenüpunkt.

    Die anderen Parameter sind identisch mit dem MenuItem-Kommando.

    Beispiel:

      MenuTitle 0,0,"PROJECT"                          ;erstelle einen Menütitel
      MenuItem 0,0,0,0,"LOAD "+Chr$(187)               ;Menüpunkt
      SubItem 0,0,0,0,0,"PICTURE"                      ;Untermenüpunkte
      SubItem 0,0,0,0,1,"BRUSH"
      MenuItem 0,0,0,1,"QUIT"
      Screen 0,3                                       ;ein Intuition-Bildschirm und ein Window
      Window 0,0,12,320,DispHeight-12,$100f,"Select a menu...",1,2
      SetMenu 0                                        ;Menüliste hinzufügen
    
      Repeat                                           ;warte auf 'Quit'
      Until WaitEvent=256 AND MenuHit=0 AND ItemHit=1
    


    siehe auch: MenuTitle, MenuItem, ShapeItem, ShapeSub



    Index

    Befehl: ShapeSub

    Syntax: ShapeSub Menülistennummer,Flags,Menü,Item,Subitem,Shapenummer

    Modus: Amiga/Blitz


    ShapeSub erstellt einen Grafikuntermenüpunkt. Shapenummer gibt das Shapeobjekt an, das als Grafik für den Untermenüpunkt dient.

    Alle anderen Parameter sind identisch mit den SubItem-Befehl.



    Index

    Befehl: SetMenu

    Syntax: SetMenu Menülistennummer

    Modus: Amiga/Blitz


    SetMenu fügt die Menüliste dem aktuell benutzten Window zu. Jedem Window kann nur eine Menüliste zugefügt werden.



    Index

    Befehl: MenuGap

    Syntax: MenuGap X-Gap,Y-Gap

    Modus: Amiga/Blitz


    Das Ausführen von MenuGap vor Erstellen von Menütitel, -punkten oder -unterpunkten erlaubt Ihnen eine Kontrolle des Menü-Layouts.

    X-Gap legt einen Abstand, angegeben in Pixel, fest, der links und rechts aller Menüpunte und Submenüpunkte eingefügt wird. Y-Gap legt einen Abstand, angegeben in Pixel, fest, der oberhalb und unterhalb aller Menüpunte und Submenüpunkte eingefügt wird.

    Beispiel:

      MenuGap 32,16                                    ;setze einen GROßEN Abstand
      MenuTitle 0,0,"PROJECT"                          ;Menüliste 0 erstellen
      MenuItem 0,0,0,0,"LOAD"
      MenuItem 0,0,0,1,"SAVE"
      MenuItem 0,0,0,2,"QUIT"
      MenuTitle 0,1,"EDIT"
      MenuItem 0,0,1,0,"CUT"
      MenuItem 0,0,1,1,"COPY"
      MenuItem 0,0,1,2,"PASTE"
      Screen 0,3                                       ;ein Intuition-Bildschirm und ein Window...
      Window 0,0,0,320,DispHeight,$100f,"Select a menu...",1,2
      SetMenu 0                                        ;Liste hinzufügen
      Repeat                                           ;auf Quit warten
      Until WaitEvent=256 AND MenuHit=0 AND ItemHit=2
    




    Index

    Befehl: SubItemOff

    Syntax: SubItemOff X-Offset,Y-Offset

    Modus: Amiga/Blitz


    SubItemOff erlaubt die Kontrolle über die relative Position des Anfanges einer Liste von Untermenüpunkten, in Relation zu ihren dazugehörigen Menüpunkt. Immer, wenn ein Menüpunkt erstellt wird, der Untermenüpunkte hat, ist es eine gute Idee, dem Namen des Menüpunktes die Zeichen ">>" anzufügen. Benutzen Sie hierfür Chr$(187). Der Anwender wird hierdurch optisch auf weitere verfügbare Optionen hingewiesen. Um die Untermenüpunkte richtig zu plazieren und neben den ">>"-Zeichen erscheinen zu lassen, können Sie SubItemOff verwenden.

    Beispiel:

      MenuTitle 0,0,"Test"
      MenuItem 0,0,0,0,"More "+Chr$(187)+" "
      SubItemOff 60,8
      SubItem 0,0,0,0,0,"One Sub Menu Item..."
      SubItem 0,0,0,0,1,"Two Sub Menu Items.."
      MenuItem 0,0,0,1,"QUIT"
      Screen 0,3
      Window 0,0,0,320,DispHeight,$100f,"Select a menu...",1,2
      SetMenu 0
      Repeat
      Until WaitEvent=256 AND MenuHit=0 AND ItemHit=1
    




    Index

    Befehl: MenuState

    Syntax: MenuState Menülistennummer[,Menü[,Item[,Subitem]]],On/Off

    Modus: Amiga/Blitz


    MenuState erlaubt das Aus- oder Einschalten von Menüs oder von Teilen des Menüs.

    MenuState nur mit dem Menülistennummer-Parameter schaltet die entsprechende Menüliste an oder aus.

    MenuState mit Menülistennummer und dem Menü-Parameter schaltet ein Menü der Liste ein oder aus.

    Vergleichbares gilt für die Menüpunkte (Item-Parameter) und die Untermenüpunkte (Subitem-Parameter).



    Index

    Befehl: MenuColour

    Syntax: MenuColour Farbe

    Modus: Amiga/Blitz


    MenuColour erlaubt die Angabe einer Menüpunkt- oder Untermenüpunkttextfarbe.

    Führen Sie MenuColour aus, bevor Sie Menüpunktkommandos aufrufen.

    Beispiel:

      MenuTitle 0,0,"COLOUR"                           ;Menütitel erstellen
      MenuColour 1                                     ;nächster Eintrag in Farbe 1
      MenuItem 0,0,0,0,"LOAD"                          ;so siehts aus
      MenuColour 2                                     ;jetzt Farbe 2
      MenuItem 0,0,0,1,"SAVE"
      MenuColour 3                                     ;und 3...
      MenuItem 0,0,0,2,"QUIT"
      Screen 0,3                                       ;ein Intuition-Bildschirm und ein Window
      Window 0,0,0,320,DispHeight,$100f,"Select a menu...",1,2
      SetMenu 0                                        ;unsere Menüs hinzufügen
      Repeat                                           ;auf 'Quit' warten
      Until WaitEvent=256 AND MenuHit=0 AND ItemHit=2
    




    Index

    Funktion: MenuChecked

    Syntax: MenuChecked(Menülistennummer,Menü,Item[,Subitem])

    Modus: Amiga/Blitz


    Ist der zu überprüfende Menü- oder Untermenüpunkt auf "an" geschaltet, übergibt die Funktion "richtig"(-1), andernfalls "falsch"(0).

    Beispiel:

      MenuTitle 0,0,"TEST!"                ;erstelle Titel
      MenuItem 0,1,0,0,"OK TO QUIT?"       ;ein Toggle-Menüpunkt
      MenuItem 0,0,0,1,"QUIT"              ;ein normaler
      Screen 0,3                           ;ein Intuition-Bildschirm und ein Window
      Window 0,0,0,320,DispHeight,$140f,"Select a menu...",1,2
    
      Repeat
        a.l=WaitEvent                      ;auf ein Event warten
        If a=256 AND ItemHit=1             ;ist es Quit?
          If MenuChecked(0,0,0)            ;ist Eintrag 0 'an'?
            End                            ; JA - dann weg hier!
          Else
            WLocate 0,0                    ;sonst sag es dem Anwender
            Print "Quit nicht ermöglicht"
          EndIf
        EndIf
      Forever
    


    siehe auch: MenuItem, ShapeItem, SubItem, ShapeSub






    Impressum
    Copyright © 2001-2007 by Cj-Stroker. Alle Rechte vorbehalten (Legal Info)
    AMIGA und zugehörige Logos sind eingetragene Warenzeichen von Amiga, Inc.