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 35) / 

Referenzhandbuch



Referenzhandbuch

Kapitel 35


Kapitel 34 Inhaltsverzeichnis Kapitel 36

Windows


Obwohl sich für "Window" bei deutschen Anwendern verstärkt der Begriff "Fenster" durchsetzt, verbleiben wir in diesem Text beim englischen "Window", um unnötige Verwirrung zu vermeiden. Windows sind separate Flächen eines Screens, die zur Anzeige von Informationen genutzt werden. Windows sind unabhängig und somit können Sie in ein Window schreiben, ohne andere Windows zu überschreiben, auch wenn ein Window vor Ihrem Window liegt. Windows können nur auf Screens der Intuition-Art verwendet werden. Dies kann der Workbench Screen oder ein anwendereigener Screen sein.

Für eine effektive Handhabung der Windows sind folgende Schritte notwendig:
  • Erstellen Sie einen Screen mit Screen oder WBToScreen
  • Öffnen Sie die auf dem Screen benötigten Windows
  • Benutzen Sie WaitEvent (warte auf Ereignis), um Anwenderaktivitäten in den Windows zu erkennen
  • Stellen Sie fest, was bei welchem Ereignis zu unternehmen ist, führen Sie es aus und gehen Sie zurück zu Schritt 3.

  • Window
  • Use Window
  • Free Window
  • WindowInput
  • WindowOutput
  • DefaultIDCMP
  • AddIDCMP
  • SubIDCMP
  • WaitEvent
  • Event
  • EventWindow
  • FlushEvent
  • GadgetHit
  • MenuHit
  • ItemHit
  • SubHit
  • MButtons
  • RawKey
  • Qualifier
  • WPlot
  • WBox
  • WCircle
  • WEllipse
  • WLine
  • WCls
  • InnerCls
  • WScroll
  • Cursor
  • EditAt
  • EditFrom
  • EditExit
  • LoadFont
  • WindowFont
  • WColour
  • WJam
  • Activate
  • Menus
  • WPointer
  • WMove
  • WSize
  • WMouseX
  • WMouseY
  • EMouseX
  • EMouseY
  • WCursX
  • WCursY
  • WLocate
  • WindowX
  • WindowY
  • WindowWidth
  • WindowHeight
  • InnerWidth
  • InnerHeight
  • WTopOff
  • WLeftOff
  • SizeLimits
  • RastPort



  • Index

    Befehl: Window

    Syntax: Window Windownummer,X,Y,Breite,Höhe,Flags,Titel$,Dpen,Bpen[,Gadgetlistennummer]

    Modus: Amiga


    Window öffnet ein Intuition-Window auf dem gültigen, benutzten Screen. Windownummer ist eine einmalige Objektnummer für das neue Window. Die X- und Y-Parameter legen die Plazierung des Windows im Screen fest. Ausgegangen wird von der linken oberen Ecke des Screens. Breite, Höhe bestimmen die Größe des Fensters.

    Der Parameter Flags ist sehr komplex. Die Flags bestimmen, ob ein Window verkleinert oder vergrößert werden darf, mit einem Schiebebalken versehen wird und vieles mehr. Wenn Sie Kombinationen der Flags im Window benutzen wollen, benutzen Sie die Oder-Verknüpfung "|".

    Beispiel:

    Wenn Sie ein Window mit Dragbar (Schiebe- oder Schleppbalken) und Größengadget öffnen wollen, welches nach dem Öffnen aktiv ist, müssen Sie diesen Flags-Parameter verwenden: $1|$2|$1000

    Mit Titel$ kann der Windowtitel als BASIC-String (Konstante oder Variable) angegeben werden.

    DPen bestimmt die Farbe des Detail Pen des Windows. Hiermit wird Titel$ dargestellt.
    BPen bestimmt die Farbe des Block Pen des Windows. (z.B: Windowumrandung)

    Mit Gadgetlistennummer können Sie die Nummer des Gadgetlistenobjektes eingeben, das Sie für dieses Window benutzen möchten.

    Wenn Sie das Window öffnen, wird es automatisch zum gültigen, benutzbaren Window erklärt.

    In der folgenden Tabelle sehen Sie die verwendbaren Flags, die Sie bei dem Window-Befehl einzeln oder durch das logische Oder (|) verbunden nutzen können.


    Window-Flag Wert Beschreibung
    WINDOWSIZING $0001 Fügt ein Größengadget in die rechte untere Ecke des Windows ein und erlaubt eine Größenveränderung
    WINDOWDRAG $0002 Erlaubt ein Verschieben des Windows durch "Greifen" des Titelbalkens mit der Maus
    WINDOWDEPTH $0004 Läßt das Window vor oder hinter anderen Windows erscheinen
    WINDOWCLOSE $0008 Fügt ein Schließgadget in die linke obere Ecke des Windows ein
    SIZERIGHT $0010 Mit gesetztem GIMMEZEROZERO und WINDOWSIZING wird eine rechte Seitenbegrenzung durchgeführt. Ausgaben in das Window gehen nicht über die Begrenzung hinaus.
    SIZEBOTTOM $0020 Wie SIZERIGHT; hier wird der untere Rand des Winodws begrenzt.
    BACKDROP $0100 Öffnet das Window hinter allen anderen geöffneten Windows. WINDOWDEPTH kann nicht gleichzeitig gesetzt werden, da das Window immer hinter anderen Windows bleibt.
    GIMMEZEROZERO $0400 Verwaltet die Umrandung des Windows unabhängig von der restlichen Window-Fläche. Ausgaben in das Window überschreiben die Umrandungen nicht. Beachten Sie, daß hierfür mehr Speicherplatz benötigt wird.
    BORDERLESS $0800 Öffnet ein Window ohne Umrandungen
    ACTIVATE $1000 Aktiviert das Window automatisch

    Beispiel:

      WbToScreen 0                                        ;benutze den Workbench-Screen
      WBenchToFront_                                      ;und bringe ihn in den Vordergrund
      Window 0,2,2,600,160,$1|$2|$4|$8,"Ein Window",0,1
      MouseWait
      WBenchToBack_
    




    Index

    Befehl: Use Window

    Syntax: Use Window Windownummer

    Modus: Amiga


    Use Window erlärt das Window mit der Nummer Windownummer als aktuell zu benutzendes Window. Bei Benutzung von WindowInput und WindowOutput wird Use Window für das gewählte Window automatisch durchgeführt.

    Beispiel:

      WBenchToFront_                                 ;aus der Intuition-Library
      WbToScreen 0                                   ;Workbensch als Screen Nr. 0
      Window 1,0,0,100,100,$f,"Window Eins",0,1
      Window 2,100,100,100,100,$f,"Window Zwei",0,1  ;automatisch 'aktuell'
      Print "Dies ist in Window 2"
      Use Window 0                                   ;benutze Window 1
      Print "Dies ist in Window 1"
      MouseWait
    



    Befehl: Free Window

    Syntax: Free Window Windownummer

    Modus: Amiga


    Free Window schließt das Window Windownummer und gibt den Speicherbereich frei. Das Window ist nicht mehr benutzbar. Ein- und Ausgaben müssen auf andere Windows geleitet werden.

    Beispiel:

      WBenchToFront_                                              ;Workbench-Screen nach vorne holen
      WbToScreen 0                                                ;und als Screen 0 nutzen
      Window 0,0,0,300,100,$f,"Mausknopf - Auf Wiedersehen!",0,1
      MouseWait
      Free Window 0
    




    Index

    Befehl: WindowInput

    Syntax: WindowInput Windownummer

    Modus: Amiga


    Das Window wird als Eingabefenster benutzt, die Inkey$-, Edit$- und Edit-Funktionen erhalten die Eingaben über dieses Window. WindowInput wird automatisch ausgeführt, wenn ein Window geöffnet wird oder wenn Use Window benutzt wurde.

    siehe auch: WindowOutput, Window, Use Window, Free Window



    Index

    Befehl: WindowOutput

    Syntax: WindowOutput Windownummer

    Modus: Amiga


    Das Window wird als Ausgabefenster benutzt, die Printbefehle erfolgen auf dieses Window. WindowOutput wird automatisch ausgeführt, wenn ein Window geöffnet wird oder wenn Use Window benutzt wurde.

    siehe auch: WindowInput, Window, Use Window, Free Window



    Index

    Befehl: DefaultIDCMP

    Syntax: DefaultIDCMP IDCMP_Flags

    Modus: Amiga


    Sie können hiermit eine Einstellung der IDCMP_Flags durchführen, die später nach dem Öffnen des Windows verwendet werden. Sie können die Flags ändern, sooft Sie möchten, dadurch können Sie für jedes Window eigene Flags angeben, wenn Sie dies wünschen. Die IDCMP_Flags eines Windows legen fest, welche Arten von "events" (Ereignissen) erkannt werden. Events (Ereignisse) werden später dem Programm durch die WaitEvent- oder Event-Funktionen mitgeteilt. Wählen Sie mehr als ein Flag, müssen Sie die einzelnen Flags mit dem ODER-Operator ("|") verbinden. Bei allen Windows, die vor der Ausführung einer DefaultIDCMP-Anweisung geöffnet werden, sind folgende Flags gesetzt: $4|$8|$20|$40|$100|$200|$400|$40000|$80000..

    Diese Einstellung ist für die meisten Programme verwendbar.
    Wenn Sie aus irgendwelchen Gründen DefaultIDCMP benutzen, achten Sie darauf, daß die programmnotwendigen Flags gesetzt sind. Wenn Sie zum Beispiel ein Window öffnen, das Menüs beinhaltet, MÜSSEN Sie das $100 (Menüauswahl)-Flag setzen, sonst haben Sie keine Möglichkeit, eine Menüauswahl zu erkennen.

    Es folgt eine Liste mit möglichen Ereignissen und deren IDCMP-Flags.


    IDCMP-Flag Event (Ereignis)
    $2 Meldet eine Änderung der Windowgröße
    $4 Meldet, ob der Windowinhalt zerstört wurde, ein Neuzeichnen des Inhalts also erforderlich ist
    $8 Meldet, ob eine Maustaste gedrückt wurde
    $10 Meldet eine Mausbewegung
    $20 Meldet, ob ein Gadget im Window "gedrückt" wurde
    $40 Meldet, ob ein Gadget im Window losgelassen wurde
    $100 Meldet, ob eine Menüoperation im Window erfolgt ist
    $200 Meldet, ob das Schließgadget des Windows angewählt wurde
    $400 Meldet einen Tastendruck von der Tastatur
    $8000 Meldet, ob eine Disk ins Laufwerk eingelegt wurde
    $10000 Meldet, ob eine Disk aus dem Laufwerk entfernt wurde
    $40000 Meldet, ob ein Window aktiviert wurde
    $80000 Meldet, ob ein Window deaktiviert wurde

    Beispiel:

      Screen 0,2                                                ;ein Intuition-Bildschirm
    
      DefaultIDCMP $8 ;einfaches "Maustasten"-IDCMP-Flag
      Window 0,0,0,320,100,0,"Schließt bei Mausknopf",0,1
    
      DefaultIDCMP $400                                         ;Tastendruck-Flag
      Window 1,0,100,320,100,0,"Schließt bei Tastendruck",0,1
    
      ev.l=WaitEvent
      If ev=$8 Then Free Window 0 Else Free Window 1            ;entsprechendes Fenster schließen
      WaitEvent
    




    Index

    Befehl: AddIDCMP

    Syntax: AddIDCMP IDCMP_Flags

    Modus: Amiga


    AddIDCMP ermöglicht das Hinzufügen eines IDCMP_Flags zu den mit DefaultIDCMP gesetzten Flags.

    Bitte lesen Sie auch DefaultIDCMP.

    Beispiel:

      Screen 0,3
      Window 0,0,0,320,DispHeight,$100f,"My Window",1,2
      Repeat                                                  ;wiederhole
        ev.l=WaitEvent
        If ev=$10                                             ;hat sich die Maus bewegt
          If WCursY+8>=InnerHeight Then InnerCls:WLocate 0,0
          NPrint "Maus bewegt!"
        EndIf
      Until ev=512                                            ;bis das Fenster geschlossen wird
    


    siehe auch: DefaultIDCMP, SubIDCMP



    Index

    Befehl: SubIDCMP

    Syntax: SubIDCMP IDCMP_Flags

    Modus: Amiga


    SubIDCMP entfernt ein IDCMP_Flag, das mit DefaultIDCMP gesetzt wurde.

    Bitte lesen Sie auch DefaultIDCMP.

    siehe auch: DefaultIDCMP, AddIDCMP



    Index

    Befehl/Funktion: WaitEvent

    Syntax: WaitEvent

    Modus: Amiga


    Hält den Programmablauf an und wartet auf ein Intuition Event (Ereignis). Es werden nur Ereignisse registriert, die über die IDCMPflags als erlaubt erklärt wurden. Als Funktion gibt WaitEvent das IDCMP_Flag des Ereignisses zurück. Mit EventWindow können Sie feststellen, welche Windowobjektnummer für das Ereignis verantwortlich ist. Bei Menü-und Gadgetevents stehen weitere Funktionen zur Verfügung, mit denen die Menü- und Gadgetauswahl erkannt werden kann. Um bei Maustastenevents festzustellen, welche Maustaste gedrückt wurde, muß die MButtons-Funktion benutzt werden.

    ACHTUNG:

    Möchten Sie das Resultat von WaitEvent in eine Variable übertragen, stellen Sie sicher, daß diese Variable eine Langvariable ist: MyEvent.l = WaitEvent

    Beispiel:

      Screen 0,2                                                   ;ein Intuition-Bildschirm
      Window 0,0,0,320,100,0,"in mich klicken zum Schließen",0,1
      ev.l=WaitEvent                                               ;auf ein Ereignis warten
    


    siehe auch: Event, GadgetHit, MenuHit, ItemHit, SubHit, EventWindow



    Index

    Funktion: Event

    Syntax: Event

    Modus: Amiga


    Event arbeitet ähnlich wie WaitEvent, hält aber den Programmablauf nicht an und gibt das IDCMP-Flag des ausstehenden Windowereignisses zurück. Trat kein Ereignis ein, wird eine 0 ausgegeben.

    Beispiel:

      Screen 0,3                                                  ;ein Intuition-Bildschirm
      ScreensBitMap 0,0                                           ;benutze seine Bitmap
      DefaultIDCMP $400                                           ;'Tastendruck'-IDCMP für das Fenster
    
      Window 0,0,0,320,200,$1000,"Tastendruck zum Verlassen",0,1
    
      While Event=0                                               ;solange kein Ereignis eintritt...
        Circlef Rnd(300),Rnd(200),Rnd(100),Rnd(8)
      Wend
    


    siehe auch: WaitEvent



    Index

    Funktion: EventWindow

    Syntax: EventWindow

    Modus: Amiga/Blitz


    EventWindow wird benutzt, um festzustellen, in welchem Window das Ereignis stattfand, indem die Nummer dieses Windowobjektes zurückgegeben wird.

    Beispiel:

      Screen 0,3                                      ;ein Intuition-Bildschirm und vier Fenster
      Window 0,0,0,160,100,$100f,"Window 0",1,2
      Window 1,160,0,160,100,$100f,"Window 1",1,2
      Window 2,0,100,160,100,$100f,"Window 2",1,2
      Window 3,160,100,160,100,$100f,"Window 3",1,2
    
      Repeat
        ev.l=WaitEvent                                ;warte auf ein Event
        Use Window lw                                 ;benutze das letzte Event-Window
        InnerCls                                      ;inneren Bereich des Fenster löschen
        Use Window EventWindow                        ;benutze dieses Event-Window
        WLocate 0,0                                   ;Textcursor nach oben links
        Print "Ereignis hier!!"                       ;unterrichte sie!
        lw=EventWindow                                ;mache dieses Fenster zum letzten Fenster
      Until Inkey$=Chr$(27)                           ;Escape zum Verlassen
    


    siehe auch: WaitEvent, Event



    Index

    Befehl: FlushEvent

    Syntax: FlushEvent IDCMP_Flags

    Modus: Amiga/Blitz


    Wenn Window Events (Ereignisse) ausgelöst werden, übernimmt Blitz2 diese automatisch in eine "Warteschleife". Dies ist notwendig, damit Ereignisse, die stattfinden, wenn gerade ein anderes Ereignis vom Programm bearbeitet wird, nicht verloren gehen. Es kann aber Situationen eben, in denen Sie diese zurückgelegten Ereignisse nicht gebrauchen können. Hierfür gibt es den FlushEvent-Befehl.

    Wenn FlushEvent ohne Parameter ausgeführt wird, erfolgt eine komplette Löschung aller noch ausstehenden Ereignisse in der Warteschlange. Bei Angabe eines IDCMP_Flags-Parameters wird nur die Warteschlange des entsprechenden Ereignistyps gelöscht.

    siehe auch: WaitEvent, Event



    Index

    Funktion: GadgetHit

    Syntax: GadgetHit

    Modus: Amiga


    GadgetHit gibt die Identifikationsnummer des Gadget aus, das gerade "gedrückt" oder "losgelassen" wird.
    Bei mehreren Windows haben die Gadgets gleiche Nummern. Stellen Sie mit EventWindow fest, welches Window beteiligt war, um exakt festzustellen, welches Gadget gedrückt wurde.

    Beispiel:

      Screen 0,3                                          ;ein Intuition-Bildschirm
      TextGadget 0,20,20,0,1,"Click here"                 ;eine Gadgetliste erstellen
      TextGadget 0,20,40,0,2,"Or in here"                 ;...
      TextGadget 0,20,60,0,3,"Quit here"                  ;...
    
      Window 0,0,0,320,200,0,"Window und Gadgets",0,1,0
      Repeat
        Repeat
          ev.l=WaitEvent                                  ;warte auf ein Event
        Until ev=$40                                      ;aber nur 'Gadget losgelassen'
        If GadgetHit=3 Then End                           ;falls es Gadget Nr. 3 war - ENDE
      Forever
    


    siehe auch: WaitEvent, Event



    Index

    Funktion: MenuHit

    Syntax: MenuHit

    Modus: Amiga


    MenuHit gibt die Identifikationsnummer des Menüs aus, das beim letzten Menüereignis angewählt war. Wie bei Gadgets können in verschiedenen Windows Menüs mit gleichen Nummern vorhanden sein. Sie benötigen dann EventWindow, um das Window herauszufinden, das das Ereignis ausgelöst hat.
    Wurde kein Menü gewählt gibt MenuHit -1 zurück.

    Beispiel:

      Screen 0,3                                      ;ein Intuition-Bildschirm
      Window 0,0,0,320,200,0,"Window mit Menüs",0,1
    
      MenuColour 2                                    ;ändere die Menüfarbstifte
      MenuTitle 0,0,"Menüs"                           ;erzeuge ein einfaches Menü
      MenuItem 0,0,0,0,"Item"                         ;mit nur einem Eintrag
      MenuItem 0,0,0,1,"Quit"                         ;und einem Menüpunkt für Ausgang
      SetMenu 0                                       ;füge es dem Fenster hinzu
    
      While MenuHit<>0
        ev.l=WaitEvent
      Wend
    


    siehe auch: WaitEvent, Event, ItemHit, SubHit



    Index

    Funktion: ItemHit

    Syntax: ItemHit

    Modus: Amiga


    ItemHit gibt die Identifikationsnummer des Menüabschnittes (oder Menüteiles) an, das beim letzten Menüereignis angewählt war.

    Beispiel:

      Screen 0,3                                     ;ein Intuition-Bildschirm
    
      Window 0,0,0,320,200,0,"Window mit Menüs",0,1
    
      MenuColour 2                                   ;Menüfarbstift ändern
      MenuTitle 0,0,"Menus"                           ;Menütitel
      MenuItem 0,0,0,0,"First"                       ;Teil 0...
      MenuItem 0,0,0,1,"Second"                      ;Teil 1...
      MenuItem 0,0,0,2,"Third"                       ;Teil 2...
      MenuItem 0,0,0,3,"Quit"                        ;Teil 3...
      SetMenu 0                                      ;Menüliste dem Window hinzufügen
    
      Repeat
        WaitEvent
      Until ItemHit=3                                ;Aufhören, wenn 'Quit' angewählt wird
    


    siehe auch: WaitEvent, Event, MenuHit, SubHit



    Index

    Funktion: SubHit

    Syntax: SubHit

    Modus: Amiga


    SubHit gibt die Identifikationsnummer des Untermenüabschnittes an, das beim letzten Menüereignis angewählt war. Wurde kein Untermenüpunkt angewählt, gibt SubHit -1 zurück.

    Beispiel:

      Screen 0,3                                     ;ein Intuition-Bildschirm
    
      Window 0,0,0,320,200,0,"Window mit Menüs",0,1
    
      MenuColour 2                                   ;Menüfarbstifte setzen
      MenuTitle 0,0,"Menüs"                          ;Menütitel
      MenuItem 0,0,0,0,"Mehr "+Chr$(187)             ;Eintrag 0
      SubItem 0,0,0,0,0,"Quit"                       ;Unterabschnitt 0
      SetMenu 0                                      ;Menüliste dem Window hinzufügen
      Repeat
        WaitEvent
      Until SubHit=0
    


    siehe auch: WaitEvent, Event, MenuHit, ItemHit



    Index

    Funktion: MButtons

    Syntax: MButtons

    Modus: Amiga


    Gibt den Code für die Maustaste aus, die ein "Maustastenereignis" auslöste. Bei mit Menus Off ausgeschalteten Menüs kann auch die rechte Maustaste ein Ereignis auslösen und mit MButtons abgefragt werden.

    Es folgen die Werte, die MButtons zurückgibt:

            linke Taste unten  = 1
            linke Taste oben   = 5
            rechte Taste unten = 2
            rechte Taste oben  = 6
    


    Beispiel:

      Screen 0,3                                                       ;ein Intuition-Bildschirm
      Window 0,0,0,320,200,$1000,"Rechte Maustaste zum Aufhören",0,1
      Repeat
        WaitEvent
      Until MButtons=6
    


    siehe auch: WaitEvent, Event



    Index

    Funktion: RawKey

    Syntax: RawKey

    Modus: Amiga


    RawKey gibt den Raw-Code einer gedrückten Taste wieder, die ein "Tastendruck"-Ereignis auslöste.

    Beispiel:

      Screen 0,3
      Window 0,0,0,320,200,0,"Tippen Sie ein Control-Zeichen zum Beenden",0,1
      While (Qualifier AND $8) = 0
        ev=WaitEvent
        WLocate 0,0
        a$=Inkey$
        Print Hex$(RawKey)
      Wend
    


    siehe auch: WaitEvent, Event, Qualifier, Inkey$



    Index

    Funktion: Qualifier

    Syntax: Qualifier

    Modus: Amiga


    Qualifier gibt den Code der letzten gedrückten "Qualifier-Taste" bei einem Tastendruckereignis aus. Qualifier-Tasten sind Tasten, die in Verbindung mit einer weiteren Taste gedrückt werden, z.B: Shift, Alternate.

    Hier nun eine Liste der Werte und der entsprechenden Tasten. Wenn mehrere Qualifiertasten gedrückt werden, erhalten Sie einen Kombinationswert. Um Ihre gewünschte Taste herauszufiltern, benutzen Sie bitte den logischen UND-Parameter.


    Taste Links Rechts
    Kein Qualifier $8000 $8000
    Shift $8001 $8002
    CAPS LOCK gedrückt $8004 $8004
    Control $8008 $8008
    Alternate $8010 $8020
    Amiga $8040 $8080




    Index

    Befehl: WPlot

    Syntax: WPlot X,Y,Farbe

    Modus: Amiga


    WPlot zeichnet einen Pixel an den Koordinaten X,Y in der mit Farbe gewählten Farbe im aktuell benutzten Window.

    Beispiel:

      Screen 0,3
      Window 0,0,0,320,200,0,"",0,1
      For t=1 To 40
        For g=1 To 40
          WPlot t,g,2
        Next
      Next
      MouseWait
    




    Index

    Befehl: WBox

    Syntax: WBox X1,Y1,X2,Y2,Farbe

    Modus: Amiga


    WBox zeichnet ein Rechteck in der Farbe Farbe ins aktuell benutzte Window. Die Parameter X1 und Y1 bestimmen die linke obere Ecke, die Parameter X2 und Y2 die rechte untere Ecke.

    Beispiel:

      Screen 0,3
      Window 0,0,0,320,200,0,"Boxes",0,1
      For t=1 To 1000
        WBox Rnd(320),Rnd(200),Rnd(300),Rnd(200),Rnd(8)
      Next
      MouseWait
    




    Index

    Befehl: WCircle

    Syntax: WCircle X,Y,Radius,Farbe

    Modus: Amiga


    WCircle zeichnet einen Kreis ins aktuell benutzte Window. Der Mittelpunkt wird mit den Parametern X und Y festgelegt, der Radius-Wert bestimmt die Größe des Kreises. Der letzte Wert Farbe legt die Zeichenfarbe des Kreises fest.

    Beispiel:

      Screen 0,3
      Window 0,0,0,320,200,0,"Kreise",0,1
      For t=1 To 1000
        WCircle Rnd(320),Rnd(200),Rnd(300),Rnd(8)
      Next
      MouseWait
    




    Index

    Befehl: WEllipse

    Syntax: WEllipse X,Y,X-Radius,Y-Radius,Farbe

    Modus: Amiga


    WEllipse zeichnet eine Ellipse ins aktuell benutzte Window.

    Parameter:

        X und Y =  Mittelpunktkoordinaten
        X-Radius = horizontaler Radius
        Y-Radius = vertikaler Radius
        Farbe    = Zeichenfarbe
    


    Beispiel:

      Screen 0,3
      Window 0,0,0,320,200,0,"Ellipsen",0,1
      For t=1 To 1000
        WEllipse Rnd(320),Rnd(200),Rnd(300),Rnd(300),Rnd(8)
      Next
      MouseWait
    




    Index

    Befehl: WLine

    Syntax: WLine X1,Y1,X2,Y2[,Xn,Yn...],Farbe

    Modus: Amiga


    WLine zeichnet eine Linie oder eine Serie von Linien ins gültige Window. Die ersten 2 Koordinatensätze X1,Y1,X2,Y2 bestimmen die Anfangs- und Endpunkte der Linie. Jede weitere Koordinate legt den Endpunkt einer anderen Linie fest, deren Anfangspunkt der Endpunkt der zuvor gezeichneten Linie ist. Mit Farbe bestimmen Sie die Farbe, in der die Linie gezeichnet wird.

    Beispiel:

      Screen 0,3
      Window 0,0,0,320,200,0,"Ein Polygon",0,1
      Wline 150,10,200,60,150,110,100,60,160,10,3
      MouseWait
      End
    




    Index

    Befehl: WCls

    Syntax: WCls [Farbe]

    Modus: Amiga


    WCls füllt das gültige Window mit der Farbe Farbe oder, wenn Farbe nicht angegeben wurde, mit Farbe 0. Wurde das Window ohne gesetztes Gimmezerozero-Flag geöffnet, löscht WCls die Umrandung und den Titelbalken. Der InnerCls-Befehl verhindert diesen Effekt.

    Beispiel:

      Screen 0,3
      Window 0,0,0,320,200,$400,"Window Cls",0,1
      WCls 2
      MouseWait
    


    siehe auch: InnerCls



    Index

    Befehl: InnerCls

    Syntax: InnerCls [Farbe]

    Modus: Amiga


    InnerCls löscht nur den inneren Bereich des gültigen Windows. Die Umrandung und die Titelleiste werden bei gesetztem Gimmezerozero-Flag nicht gelöscht. Farbe bestimmt die Farbe, mit der das Window gelöscht wird.

    Beispiel:

      Screen 0,3
      Window 0,0,0,320,200,0,"Kein GIMMEZEROZERO Window",0,1
      InnerCls 2
      MouseWait
    


    siehe auch: WCls



    Index

    Befehl: WScroll

    Syntax: WScroll X1,Y1,X2,Y2,DeltaX,DeltaY

    Modus: Amiga


    WScroll ermöglicht das Bewegen oder Scrollen einer rechteckigen Fläche des aktuell benutzten Windows. X1 und Y1 bestimmen die linke obere Ecke und X2 und Y2 die rechte, untere Ecke des Rechtecks. Die Delta-Parameter legen fest, wie weit die Fläche bewegt wird. Positive Werte bewegen die Fläche nach rechts/unten, negative Werte nach links/oben.



    Index

    Befehl: Cursor

    Syntax: Cursor Aussehen

    Modus: Amiga


    Cursor bestimmt die Art des Cursors beim Editieren von Strings oder Zahlen mit den Edit$- oder Edit-Funktionen. Der Parameter Aussehen gleich 0 erzeugt einen Blockcursor. Bei Werten größer 0 wird ein Unterstrichcursor benutzt.

    Beispiel:

      Screen 0,3                                 ;ein Intuition-Bildschirm
      Window 0,0,0,320,200,0,"Cursortypen",0,1  ;und ein Window
      Print "Dies ist ein Blockcursor."          ;zeige einen Block-Cursor
      a$=Edit$("Hallo",10)
      Cursor 1                                   ;Cursor in Unterstrich-Cursor umwandeln
      Print "Dies ist ein Unterstrich-Cursor"
      a$=Edit$("Hallo",10)
      End
    




    Index

    Funktion: Editat

    Syntax: Editat

    Modus: Amiga


    Nach der Ausführung von Edit$ oder Edit kann Editat verwendet werden, um die horizontale Position des Cursors beim Verlassen der Funktion festzustellen. Mit Editat, EditExit, EditFrom und Edit$ kann ein einfacher Vollscreen-Editor hergestellt werden.

    siehe auch: EditFrom, Edit$, Edit



    Index

    Befehl: EditFrom

    Syntax: EditFrom [Zeichenposition]

    Modus: Amiga


    EditFrom erlaubt eine Kontrolle der Ausführung der Edit- und Edit$-Funktionen bei Verwendung in Windows. Wird der Parameter Zeichenposition angegeben, erfolgt das Editieren an dieser Position (0 ist die erste Zeichenposition). Weiterhin kann, neben "Return", mit nichtprintbaren Tasten (z.B.:ESC, Crsr auf und ab) oder durch ein Window Event die Editierung beendet werden. Mit EditExit kann überprüft werden, mit welcher Taste die Editierung beendet wurde. EditFrom ohne Parameterangabe schaltet Edit$ und Edit zurück auf normal - die Editierung beginnt bei Position 0 und kann nur mit der Returntaste beendet werden.

    Beispiel:

      Dim lines$(20)                                               ;20 Zeilen
      Screen 0,0,0,320,172,2,0,"Blitz Edit - ESC zum Beenden",1,2
      Window 0,0,0,320,172,$1900,"",2,1
      y=1                                                          ;Anfangszeile
      WLocate 0,12                                                 ;Zeilenzahlen vorbereiten
      Format "##"
      For k=1 To 20                                                ;Schleife zum Ausdrucken der
        NPrint k,":"                                               ;Zeilennummern
      Next
    
      Repeat
        Repeat             ;zuerst sollten alle Events (Gadgets, Menüs etc.) behandelt werden
          ev.l=Event
          Select ev                    ;dort sollte die 'Behandlung' stattfinden
    
          End Select
        Until ev=0                     ;bis keine Events mehr da sind
    
        WLocate 24,y*8+4               ;jetzt wird die Bearbeitung der 'aktuellen' Zeile vorbereitet
        EditFrom x                     ;beginne bei Zeichenposition 'x'
        lines$(y)=Edit$(lines$(y),37)
        x=Editat                       ;Zeichenposition beim EditExit-Zeitpunkt
        Select EditExit                ;wie wurde beendet
          Case 13                      ;Zurückkehren?
            x=0                        ;zurück zum Zeilenanfang
            If y<20 Then y+1           ;und vielleicht eine Zeile tiefer
          Case 28                      ;Cursor-Oben
            If y>1 Then y-1            ;Zeile höher
          Case 29 ;Cursor-Unten
            If y<20 Then y+1           ;vielleicht Zeile tiefer
        End Select
    
      Until EditExit=27                ;bis 'Escape' gedrückt wird
    


    siehe auch: EditAt, EditExit, Edit$, Edit



    Index

    Befehl: EditExit

    Syntax: EditExit

    Modus: Amiga


    EditExit gibt den ASCII-Wert des Zeichens aus, mit dem die Edit-/Edit$-Funktionen beendet wurden. Sie können die Editunktionen nur mit einer anderen Taste als "Return" beenden, wenn Sie zuvor EditFrom mit Parameter für den Editaufruf ausgeführt haben.

    Beispiel:

      Screen 0,2                                 ;ein Intuition-Bildschirm
      Window 0,0,0,320,200,$1000,"Press ESCAPE to quit",0,1
      Repeat
        FlushEvents                              ;um die noch offenen Window-Events zu beseitigen
        WLocate 0,0                              ;nach links oben
        EditFrom Editat                          ;von der letzten Quit-Position aus editieren
        a$=Edit$(a$,38)
      Until EditExit=27
    


    siehe auch: EditFrom, EditAt, Edit$, Edit



    Index

    Befehl: LoadFont

    Syntax: LoadFont IntuiFontnummer,Fontname.font$,Y-Größe

    Modus: Amiga


    Mit LoadFont können Sie einen Zeichensatz aus dem FONTS:-Verzeichnis laden.
    Im Gegensatz zu BlitzFonts können Zeichensätze jeder Größe benutzt werden.

    siehe auch: WindowFont



    Index

    Befehl: WindowFont

    Syntax: WindowFont IntuiFontnummer

    Modus: Amiga


    WindowFont setzt den Font für das aktuell benutzte Window. Alle Textausgaben in das Window erfolgen mit dem gewählten Zeichensatz. Der Font muß zuvor mit LoadFont geladen worden sein.

    Beispiel:

      Screen 0,3                                         ;ein Intuition-Bildschirm mit Windows
      Window 0,0,0,320,200,$1000,"Besonderer Font!",0,1
      LoadFont 0,"topaz.font",11                         ;Topaz 11 laden
      WindowFont 0                                       ;diesen Font als Window-Font wählen
      Print "Dies ist in Topaz 11"                       ;Font anzeigen
      MouseWait
      End
    


    siehe auch: LoadFont



    Index

    Befehl: WColour

    Syntax: WColour Vordergrundfarbe[,Hintergrundfarbe]

    Modus: Amiga


    WColour setzt die Zeichenfarbe und die Hinterzeichenfarbe für die Textausgabe im aktuellen Window. Jede nachfolgende Textausgabe erfolgt mit diesen Farben.

    Beispiel:

      Screen 0,3                               ;ein Intuition-Bildschirm und ein Window
      Window 0,0,0,320,200,$1000,"Farben",0,1
      For T=1 To 7                             ;Vordergrund-Farbschleife
        For G=1 To 7                           ;Hintergrund-Farbschleife
          WColour T,G                          ;Window-Farbe setzen
          Print "Wow!"                         ;etwas schreiben...
        Next
        NPrint ""
      Next
      MouseWait
      End
    


    siehe auch: WJam



    Index

    Befehl: WJam

    Syntax: WJam Jammodus

    Modus: Amiga


    WJam ermöglicht eine Beeinflussung der Textdarstellung. Die Modi können mit ODER verknüpft und so kombiniert werden.

    Es folgen die unterschiedlichen Jammodi:


    Modus Wert Erklärung
    JAM1 0 Zeichnet in der Vordergrundfarbe und läßt den Hintergrund transparent
    JAM2 1 Zeichnet in der Vordergrund- und Hintergrundfarbe
    Complement 2 Verändert die Bits der Grafik gemäß Exklusiv-ODER (XOR). Zeichnen derselben Grafik an derselben Stelle bringt das Originaldisplay zurück.
    InversVid 4 Erlaubt eine inverse Darstellung der Ausgabe. In Verbindung mit JAM2 wird die Ausgabe wie mit JAM2 erfolgen, allerdings werden Vorder- und Hintergrundfarbe vertauscht.

    Beispiel:

      Screen 0,3                                     ;ein Intuition-Bildschirm mit einem Window
      Window 0,0,0,320,200,0,"Mal-Modi",0,1
      Print "Überlappende Zeichen"              ;etwas in verschiedenen Modi schreiben
      WJam 0
      Print "Hallo"
      WLocate 0,0
      Print "Bye"
      WJam 1
      Print "Überschreibende Zeichen"
      Print "Hallo"
      WLocate 0,16
      Print "Bye"
      Print "Bye"
      Print "Gleiche Grafik-Gleiche Stelle-Weg ist es..."
      WJam 2
      Print "Hallo"
      WLocate 0,32
      Print "Hallo"
      WJam 4
      Print "Dies ist in Inverse Video"
      MouseWait
      End
    


    siehe auch: WColour



    Index

    Befehl: Activate

    Syntax: Activate Windownummer

    Modus: Amiga


    Aktiviert das Window Windownummer.

    Beispiel:

      Screen 0,2
      Window 0,0,0,320,100,0,"Window 1",0,1
      Window 1,0,100,320,100,0,"Window 2",0,1
      Activate 0
      Print "Hallo"
      Activate 1
      Print "Good Bye"
      MouseWait
      End
    




    Index

    Befehl: Menus

    Syntax: Menus On/Off

    Modus: Amiga


    Menus schaltet ALLE Menüs an oder aus. Dies ist sinnvoll, wenn Sie die rechte Maustaste anderweitig abfragen wollen.



    Index

    Befehl: WPointer

    Syntax: WPointer Shapenummer

    Modus: Amiga


    WPointer erlaubt das Verändern des Mauszeigers im aktuell benutzten Window. Shapenummer kennzeichnet ein initialisiertes Shape, das die Darstellung des Zeigers übernimmt. Das benutzte Shape muß 2 Bitplanes (4 Farben) haben.

    Beispiel:

      Screen 0,2                                    ;ein Intuition-Bildschirm und ein Window
      Window 0,0,0,320,200,$1000,"New Pointer",0,1
      LoadShape 0,"TestPointer"                     ;lade ein Shape
      WPointer 0                                    ;in den Mauszeiger umwandeln
      MouseWait
    




    Index

    Befehl: WMove

    Syntax: WMove X,Y

    Modus: Amiga


    WMove bewegt das aktuell benutzte Window an die Screenkoordinaten X,>Y.

    Beispiel:

      Screen 0,2
      Window 0,0,0,100,100,$1000,"Bewegte Fenster!",0,1
      For K=1 To 50
        WMove k,k
      Next
      MouseWait
    


    siehe auch: WSize



    Index

    Befehl: WSize

    Syntax: WSize Breite,Höhe

    Modus: Amiga


    WSize verändert die Breite und Höhe des aktuell benutzten Windows nach den Werten der Parameter.

    Beispiel:

      Screen 0,2
      Window 0,0,0,10,10,$1000,"",0,1
      VWait 100
      WSize 320,100
      Print "Click Mouse to Quit"
      MouseWait
    


    siehe auch: WMove



    Index

    Funktion: WMouseX

    Syntax: WMouseX

    Modus: Amiga


    WMouseX gibt die horizontalen Mauskoordinaten in Pixel relativ zum linken Windowrand an. Bei gesetzten Gimmezerozeroflag wird vom inneren Rand des Windows ausgegangen, andernfalls vom äußeren Rand der Windowumrandung.

    Beispiel:

      Screen 0,2
      Window 0,0,0,320,200,0,"Window",0,1
      While Joyb(0)=0
        WLocate 0,0
        Print WMouseX," ",WMouseY
      Wend
    


    siehe auch: WMouseY



    Index

    Funktion: WMouseY

    Syntax: WMouseY

    Modus: Amiga


    WMouseY gibt die vertikalen Mauskoordinaten in Pixel relativ zum oberen Windowrand an. Bei gesetzten Gimmezerozeroflag wird vom inneren Rand des Windows ausgegangen, andernfalls vom äußeren Rand der Windowumrandung.

    siehe auch: WMouseX



    Index

    Funktion: EMouseX

    Syntax: EMouseX

    Modus: Amiga


    EMouseX gibt die horizontale Mausposition an, an der sich der Mauszeiger befand, als ein Ereignis auftrat. Windowevents können mit WaitEvent und Event festgestellt werden.

    Beispiel:

      Screen 0,3
      ScreensBitMap 0,0
    
      Repeat                             ;wiederhole
      ev.l=WaitEvent                     ;warte auf ein Window-Event
      If MButtons=1                      ;falls linker Mausknopf gedrückt ist
        x=EMouseX:y=EMouseY              ;X- und Y-Koordinaten zum Eventzeitpunkt speichern
        Repeat                           ;wiederhole...
          ev2.l=WaitEvent                ;warte auf ein Window-Event
          If ev2=$10                     ;Maus bewegt?
            Wline x,y,EMouseX,EMouseY,1  ;eine Zeile höher
            x=EMouseX:y=EMouseY          ;neue X/Y-Koordinaten
          EndIf
        Until MButtons=5                 ;bis linker Mausknopf oben ist
      EndIf
      Until ev=$200                      ;bis Window geschlossen wurde.
    


    siehe auch: EMouseY, WMouseX, WMouseY, WaitEvent, Event



    Index

    Funktion: EMouseY

    Syntax: EMouseY

    Modus: Amiga


    EMouseY gibt die vertikale Mausposition an, an der sich der Mauszeiger befand, als ein Ereignis auftrat. Windowevents können mit WaitEvent und Event festgestellt werden.

    siehe auch: EMouseX, WMouseX, WMouseY, WaitEvent, Event



    Index

    Funktion: WCursX

    Syntax: WCursX

    Modus: Amiga


    Die Funktion gibt die horizontale Textcursorposition im aktuell benutzten Window an. Die Textcursorposition kann mit WLocate eingestellt werden.

    Beispiel:

      Screen 0,2
      Window 0,0,0,320,200,0,"Window",0,1
      For T=1 To 5
        Print WCursX;" "
      Next
      MouseWait
      End
    


    siehe auch: WCursY, WLocate



    Index

    Funktion: WCursY

    Syntax: WCursY

    Modus: Amiga


    Die Funktion gibt die horizontale Textcursorposition im aktuell benutzten Window an. Die Textcursorposition kann mit WLocate eingestellt werden.

    Beispiel:

      Screen 0,2
      Window 0,0,0,320,200,0,"Window",0,1
      For T=1 To 5
        NPrint WCursY
      Next
      MouseWait
      End
    


    siehe auch: WCursX, WLocate



    Index

    Befehl: WLocate

    Syntax: WLocate X,Y

    Modus: Amiga/Blitz


    WLocate setzt den Textcursor an die Stelle X,Y im aktuell benutzten Window. Ausgangspunkt ist die linke, obere Ecke des aktuellen Windows. Die Einstellung der Parameter erfolgt in Pixel. Textcursorpositionen in anderen Windows werden hierdurch nicht beeinflußt.

    siehe auch: WCursX, WCursY



    Index

    Funktion: WindowX

    Syntax: WindowX

    Modus: Amiga


    Die Funktion gibt die horizontale Pixelposition der linken, oberen Ecke des aktuellen Windows, relativ zum Screen, auf dem das Window geöffnet wurde, zurück.

    Beispiel:

      Screen 0,2
      Window 0,10,0,300,200,0,"Window",0,1
      Print WindowX
      MouseWait
      End
    


    siehe auch: WindowY, WindowWidth, WindowHeight



    Index

    Funktion: WindowY

    Syntax: WindowY

    Modus: Amiga


    Die Funktion gibt die vertikale Pixelposition der linken, oberen Ecke des aktuellen Windows, relativ zum Screen, auf dem das Window geöffnet wurde, zurück.

    Beispiel:

      Screen 0,2
      Window 0,0,0,320,200,0,"Window",0,1
      For T=1 To 5
        NPrint WCursY
      Next
      MouseWait
      End
    


    siehe auch: WCursX, WLocate



    Index

    Funktion: WindowWidth

    Syntax: WindowWidth

    Modus: Amiga


    Die Funktion gibt die Breite (in Pixel) des aktuellen Windows zurück.

    Beispiel:

      Screen 0,2
      Window 0,0,0,320,200,0,"WindowWidth",0,1
      Print WindowWidth
      MouseWait
      End
    


    siehe auch: WindowX, WindowY, WindowHeight



    Index

    Funktion: WindowHeight

    Syntax: WindowHeight

    Modus: Amiga


    Die Funktion gibt die Höhe (in Pixel) des aktuellen Windows zurück.

    siehe auch: WindowX, WindowY, WindowWidth



    Index

    Funktion: InnerWidth

    Syntax: InnerWidth

    Modus: Amiga


    Die Funktion gibt die Breite der Fläche innerhalb der Umrandung des aktuellen Windows in Pixel zurück.

    siehe auch: InnerHeight



    Index

    Funktion: InnerHeight

    Syntax: InnerHeight

    Modus: Amiga


    Die Funktion gibt die Höhe der Fläche innerhalb der Umrandung des aktuellen Windows in Pixel zurück.

    siehe auch: InnerWidth



    Index

    Funktion: WTopOff

    Syntax: WTopOff

    Modus: Amiga


    Die Funktion gibt die Anzahl Pixel zwischen dem oberen Randbereich und dem Innenbereich des aktuellen Windows zurück.

    siehe auch: WLeftOff



    Index

    Funktion: WLeftOff

    Syntax: WLeftOff

    Modus: Amiga


    Die Funktion gibt die Anzahl Pixel zwischen dem linken Randbereich und dem Innenbereich des aktuellen Windows zurück.

    siehe auch: WTopOff



    Index

    Befehl: SizeLimits

    Syntax: SizeLimits min. Breite,min. Höhe,max.Breite,max.Höhe

    Modus: Amiga


    SizeLimits setzt die Grenzen für die Größe neuer Windows bei Größenveränderung durch den Anwender mit dem Größengadget. Nach der Ausführung gelten die Grenzen für jedes neue Window.

    Beispiel:

      Screen 0,2                                 ;ein Intuition-Bildschirm
      SizeLimits 20,20,150,150                   ;setze Grenzen für Windows
      Window 0,0,0,100,100,15,"SizeLimits",0,1
      Print "Click RMB"
      Print "to quit"
      While Joyb(0)<>2
      Wend
    




    Index

    Funktion: RastPort

    Syntax: RastPortWindownummer

    Modus: Amiga


    RastPort gibt die Rastportadresse des Windows Windownummer zurück. Viele Befehle der Graphics-Library (und andere) benötigen diese Adresse.

    siehe auch: ViewPort






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