Microsoft® Small Basic
Ereignisse und Interaktivität
Geschätzte Zeit für den Abschluss dieser Lektion:
1 Stunde
Ereignisse und Interaktivität
In dieser Lektion erhalten Sie
Informationen über:
Verwenden von Tastaturereignissen in
Ihrem Programm.
Verwenden von Mausereignissen in
Ihrem Programm.
Einführung in Ereignisse
Diese Lektion führt Sie in Ereignisse ein, mit denen Sie Ihren
Small Basic-Programmen Interaktivität hinzufügen können.

Mit anderen Worten, Sie können in
Small Basic interaktive Programme erstellen,
indem Sie Ereignisse definieren, die eine Aktion
in Reaktion auf Benutzereingaben auslösen.

Interaktivität bezeichnet hier Ereignisse, die eine Aktion
auslösen, z. B. wenn ein Benutzer mit einer Maustaste
klickt oder eine Taste auf der Tastatur drückt.
Tastaturereignisse
Tastaturereignisse rufen eine Aktion hervor, wenn ein Benutzer eine Taste
drückt oder freigibt. Es gibt zwei Tastaturereignisse: KeyDown und KeyUp.
Diese Ereignisse sind als Prozesse des GraphicsWindow-Objekts definiert.

KeyUp löst ein Ereignis aus, wenn
ein Benutzer eine Taste auf der
Tastatur freigibt.

KeyDown löst ein Ereignis aus,
wenn ein Benutzer eine Taste
auf der Tastatur drückt.
Tastaturereignisse
Betrachten wir die Tastaturereignisse in Small Basic mithilfe eines
einfachen Programms, mit dem im Grafikfenster eine Form rotiert
wird, wenn Sie eine Taste auf der Tastatur drücken.
In diesem Beispiel drücken Sie die
EINGABETASTE, um eine rechteckige Form
im Grafikfenster zu rotieren. Wenn Sie die
Taste freigeben, wird das Rechteck zurück
in die ursprüngliche Position rotiert.
Mausereignisse
Wie im Fall der Tastaturereignisse, können
Sie in Small Basic Programme erstellen, die
mit mausbasierten Ereignissen funktionieren.
Mausereignisse generieren Aktionen im Programm,
wenn ein Benutzer mit einer Maustaste klickt.
MouseDown löst ein Ereignis aus, wenn
ein Benutzer mit einer Maustaste klickt.

MouseUp löst ein Ereignis aus, wenn
ein Benutzer eine Maustaste freigibt.
MouseMove löst ein Ereignis aus,
wenn ein Benutzer den Mauszeiger
im Grafikfenster bewegt.

Schauen wir uns an, wie
wir diese Ereignisse in einem
Programm verwenden können.
Fassen wir zusammen…

Herzlichen Glückwunsch! Sie haben
Folgendes gelernt:
Tastaturereignissen in Ihrem Programm verwenden.
Mausereignisse in Ihrem Programm verwenden.
Zeigen Sie, was Sie wissen
Schreiben Sie ein Programm, um mittels der
folgenden Schritte Mausereignisse vorzuführen:
 Erstellen Sie eine Benutzeroberfläche
mittels des GraphicsWindow-Objekts.
 Fügen Sie Schaltflächen ein, um Formen
mittels des Controls-Objekts zu zeichnen
(siehe 3.5).
 Verwenden Sie die Ereignisse MouseDown
und MouseMove, um im Zeichenbereich
Formen zu zeichnen.
 Verwenden Sie die Anweisungen If und
Else, um die Aktionen zu definieren, die
durch die Mausklicks des Benutzers
ausgelöst werden.

Weitere ähnliche Inhalte

PDF
Annika Trockel, Prof. Dr. Oliver Scheytt: Förderrichtlinien und Förderverfahren
PDF
Kleiner Nazareno
PDF
Gerlach: Leistungsschutzrechte der ausübenden Künstler und Tonträgerhersteller
PDF
Prof. Dr. Friedrich Loock: Fallstudie: Budgetcontrolling Eine angemessene Kal...
PDF
Nordhausen: Künstlersozialversicherung – was ist das eigentlich? Teil I: Entw...
PDF
Gmilkowsky: Schule und Schulbibliothek im Urheberrecht
PDF
Dr. Dagmar Kronenberger-Hüffer: Coaching im Kulturbereich
PPT
München
Annika Trockel, Prof. Dr. Oliver Scheytt: Förderrichtlinien und Förderverfahren
Kleiner Nazareno
Gerlach: Leistungsschutzrechte der ausübenden Künstler und Tonträgerhersteller
Prof. Dr. Friedrich Loock: Fallstudie: Budgetcontrolling Eine angemessene Kal...
Nordhausen: Künstlersozialversicherung – was ist das eigentlich? Teil I: Entw...
Gmilkowsky: Schule und Schulbibliothek im Urheberrecht
Dr. Dagmar Kronenberger-Hüffer: Coaching im Kulturbereich
München

Andere mochten auch (12)

PDF
Markfort: Freie Orchester. Strukturen, Risiken, Lösungen
PDF
Kerstin Schilling: Bewerbungen in der Kultur. Ein Blick von der „anderen Seite“
PPTX
Office 2010 umstieg kompakt
PDF
Benclowitz: Die Kunst ist frei!? Teil I: Tendenzschutz im Betriebs- und Perso...
PDF
Vortrag
PDF
Forum STE-PS - Dokumentation Seminar Nuertingen
PDF
Hofert: Gestaltungsmöglichkeiten im Vergaberecht. Hinweise für die Praxis des...
PDF
Gerber, Starke: Rechtliche Fragen der Filmmusik
PDF
Set paper 2
PDF
Schlotfeldt: Rechtliche Aspekte beim Marketing mittels sozialer Netzwerke am ...
PDF
Goldmann: Urheberrechtliche Probleme im Internet – Teil 1
Markfort: Freie Orchester. Strukturen, Risiken, Lösungen
Kerstin Schilling: Bewerbungen in der Kultur. Ein Blick von der „anderen Seite“
Office 2010 umstieg kompakt
Benclowitz: Die Kunst ist frei!? Teil I: Tendenzschutz im Betriebs- und Perso...
Vortrag
Forum STE-PS - Dokumentation Seminar Nuertingen
Hofert: Gestaltungsmöglichkeiten im Vergaberecht. Hinweise für die Praxis des...
Gerber, Starke: Rechtliche Fragen der Filmmusik
Set paper 2
Schlotfeldt: Rechtliche Aspekte beim Marketing mittels sozialer Netzwerke am ...
Goldmann: Urheberrechtliche Probleme im Internet – Teil 1
Anzeige

Mehr von Michael Konzett (20)

PPTX
Problemlösung, Algorithmus und grafische Darstellung
PPT
Algorithmus
PPT
Elemente des Programmierens
PDF
Creative commons
PPSX
Sichere pw
PPTX
4.4 erweiterte spiele
PPTX
4.2 reagieren auf wmi-ereignisse
PPTX
4.1 spielen mit formen
PPTX
3.6 debugginghilfen
PPTX
3.5 das controls-objekt
PPTX
3.3 das math-object
PPTX
3.2 stacks und arrays
PPTX
3.1 dateiein- und ausgabe
PPTX
2.6 flickr-, image list- und network-objekte
PPTX
2.5 clock-, desktop- und dictionary-objekte
PPTX
2.4 sound-, program- und text-objekte
PPTX
2.3 erkunden von formen
PPTX
2.2 schildkrotengrafik
PPTX
2.1 grafikfenster
PPTX
1.5 codeverzweigungen und unterprogramme
Problemlösung, Algorithmus und grafische Darstellung
Algorithmus
Elemente des Programmierens
Creative commons
Sichere pw
4.4 erweiterte spiele
4.2 reagieren auf wmi-ereignisse
4.1 spielen mit formen
3.6 debugginghilfen
3.5 das controls-objekt
3.3 das math-object
3.2 stacks und arrays
3.1 dateiein- und ausgabe
2.6 flickr-, image list- und network-objekte
2.5 clock-, desktop- und dictionary-objekte
2.4 sound-, program- und text-objekte
2.3 erkunden von formen
2.2 schildkrotengrafik
2.1 grafikfenster
1.5 codeverzweigungen und unterprogramme
Anzeige

3.4 ereignisse und interaktivitat

  • 1. Microsoft® Small Basic Ereignisse und Interaktivität Geschätzte Zeit für den Abschluss dieser Lektion: 1 Stunde
  • 2. Ereignisse und Interaktivität In dieser Lektion erhalten Sie Informationen über: Verwenden von Tastaturereignissen in Ihrem Programm. Verwenden von Mausereignissen in Ihrem Programm.
  • 3. Einführung in Ereignisse Diese Lektion führt Sie in Ereignisse ein, mit denen Sie Ihren Small Basic-Programmen Interaktivität hinzufügen können. Mit anderen Worten, Sie können in Small Basic interaktive Programme erstellen, indem Sie Ereignisse definieren, die eine Aktion in Reaktion auf Benutzereingaben auslösen. Interaktivität bezeichnet hier Ereignisse, die eine Aktion auslösen, z. B. wenn ein Benutzer mit einer Maustaste klickt oder eine Taste auf der Tastatur drückt.
  • 4. Tastaturereignisse Tastaturereignisse rufen eine Aktion hervor, wenn ein Benutzer eine Taste drückt oder freigibt. Es gibt zwei Tastaturereignisse: KeyDown und KeyUp. Diese Ereignisse sind als Prozesse des GraphicsWindow-Objekts definiert. KeyUp löst ein Ereignis aus, wenn ein Benutzer eine Taste auf der Tastatur freigibt. KeyDown löst ein Ereignis aus, wenn ein Benutzer eine Taste auf der Tastatur drückt.
  • 5. Tastaturereignisse Betrachten wir die Tastaturereignisse in Small Basic mithilfe eines einfachen Programms, mit dem im Grafikfenster eine Form rotiert wird, wenn Sie eine Taste auf der Tastatur drücken. In diesem Beispiel drücken Sie die EINGABETASTE, um eine rechteckige Form im Grafikfenster zu rotieren. Wenn Sie die Taste freigeben, wird das Rechteck zurück in die ursprüngliche Position rotiert.
  • 6. Mausereignisse Wie im Fall der Tastaturereignisse, können Sie in Small Basic Programme erstellen, die mit mausbasierten Ereignissen funktionieren. Mausereignisse generieren Aktionen im Programm, wenn ein Benutzer mit einer Maustaste klickt. MouseDown löst ein Ereignis aus, wenn ein Benutzer mit einer Maustaste klickt. MouseUp löst ein Ereignis aus, wenn ein Benutzer eine Maustaste freigibt. MouseMove löst ein Ereignis aus, wenn ein Benutzer den Mauszeiger im Grafikfenster bewegt. Schauen wir uns an, wie wir diese Ereignisse in einem Programm verwenden können.
  • 7. Fassen wir zusammen… Herzlichen Glückwunsch! Sie haben Folgendes gelernt: Tastaturereignissen in Ihrem Programm verwenden. Mausereignisse in Ihrem Programm verwenden.
  • 8. Zeigen Sie, was Sie wissen Schreiben Sie ein Programm, um mittels der folgenden Schritte Mausereignisse vorzuführen:  Erstellen Sie eine Benutzeroberfläche mittels des GraphicsWindow-Objekts.  Fügen Sie Schaltflächen ein, um Formen mittels des Controls-Objekts zu zeichnen (siehe 3.5).  Verwenden Sie die Ereignisse MouseDown und MouseMove, um im Zeichenbereich Formen zu zeichnen.  Verwenden Sie die Anweisungen If und Else, um die Aktionen zu definieren, die durch die Mausklicks des Benutzers ausgelöst werden.

Hinweis der Redaktion

  • #5: Code:Sub keyupIf GraphicsWindow.LastKey = return thenShapes.Rotate(shape1, 0)EndIfEndSubSub keydownIf GraphicsWindow.LastKey = return thenShapes.Rotate(shape1, 90)EndIfEndSub
  • #6: Sie fügen das Rechteck im Editor-Fenster hinzu, indem Sie den AddRectangle-Prozess für das Shapes-Objekt verwenden.Sie legen den Ort des Rechtecks fest, indem Sie den Move-Prozess verwenden.Sie identifizieren den Schlüssel, mit dem das Rechteck rotiert werden kann. Sie deklarieren den Schlüssel und weisen diesem einen geeigneten Variablennamen zu.Sie verwenden das KeyDown-Ereignis des GraphicsWindow-Objekts und deklarieren eine Subroutine, um die Form zu rotieren, wenn ein Benutzer die Taste drückt.In vergleichbarer Weise verwenden Sie das KeyUp-Ereignis und deklarieren eine Subroutine, um die Form zu rotieren, wenn ein Benutzer die Taste freigibt.Wenn Sie auf der Symbolleiste auf Ausführen klicken, wird das Programm ausgeführt. Es wird einGrafikfenster mit einem Rechteck im Zentrum angezeigt. Wenn Sie die EINGABETASTE drücken, wird das Rechteck rotiert. Wenn Sie die Taste EINGABE freigeben, wird das Rechteck zurück in die ursprüngliche Position rotiert.Code:GraphicsWindow.Height = 300GraphicsWindow.Width = 300GraphicsWindow.Title = „Grafikfenster“shape1 = Shapes.AddRectangle(100, 50)Shapes.Move(shape1, 100, 125)return = „Eingabe“GraphicsWindow.KeyDown = keydownGraphicsWindow.KeyUp = keyupSub keydownIf GraphicsWindow.LastKey = return thenShapes.Rotate(shape1, 90)EndIfEndSubSub keyupIf GraphicsWindow.LastKey = return thenShapes.Rotate(shape1, 0)EndIfEndSub
  • #9:  Lösung:GraphicsWindow.Hide()w = 620h = 450GraphicsWindow.CanResize = „False“GraphicsWindow.Width = wGraphicsWindow.Height = hGraphicsWindow.Top = (Desktop.Height-h) / 2GraphicsWindow.Left = (Desktop.Width-w) / 2GraphicsWindow.Show()GraphicsWindow.Title = „Ereignisse und Interaktivität“GUI()Controls.ButtonClicked = MouseActionSub GUIGraphicsWindow.DrawRectangle(10, 10, 600, 320) GraphicsWindow.DrawRectangle(10, 340, 200, 100)GraphicsWindow.DrawRectangle(10, 340, 600, 100)GraphicsWindow.DrawRectangle(370, 340, 150, 100) Triangle = Controls.AddButton(„Dreieck“, 40, 345)Controls.SetSize(Triangle, 120, 30)Rectangle = Controls.AddButton(„Rechteck“,40,375)Controls.SetSize(Rectangle, 120, 30) Circle = Controls.AddButton(„Kreis“, 40, 405)Controls.SetSize(Circle, 120, 30)Rotate = Controls.AddButton(„Rotieren“, 230, 360)Controls.SetSize(Rotate, 60, 60)Zoom = Controls.AddButton(„Zoom“, 290, 360)Controls.SetSize(Zoom, 60, 60)FreeHand = Controls.AddButton(„Zeichnen“, 390, 360)Controls.SetSize(FreeHand, 60, 60) Clear = Controls.AddButton(„Löschen“, 450, 360)Controls.SetSize(Clear, 60, 60)Exit = Controls.AddButton(„Beenden“, 530, 360)Controls.SetSize(Exit, 60, 60) EndSubSub MouseActionx = GraphicsWindow.MouseXy = GraphicsWindow.MouseYGraphicsWindow.PenWidth = 1 If x > 40 And x < 160 ThenGraphicsWindow.BrushColor = GraphicsWindow.GetRandomColor() If y > 345 And y < 375 Thendraw = 0j = 0z = 1tri = Shapes.AddTriangle(20, 20, 100, 100, 150, 20)Shapes.Move(tri, 80, 100)EndIfIf y > 375 And y < 405 Thendraw = 0 j = 0 z = 2 rect = Shapes.AddRectangle(100, 100)Shapes.Move(rect, 250, 150)EndIf If y > 405 And y < 435 Then draw = 0 j = 0 z = 3 circ = Shapes.AddEllipse(100, 100)Shapes.Move(circ, 400, 150)EndIfEndIfIf y > 360 And y < 420 ThenIf x > 230 And x < 290 Then draw = 0 If z = 1 ThenShapes.Rotate(tri, 30 + m)ElseIf z = 2 ThenShapes.Rotate(rect,30 + m) ElseIf z = 3 ThenShapes.Rotate(circ, 30 + m) EndifEndifEndif m = m + 30 EndIfIf x > 290 And x < 390 Then draw = 0 i = 0.1 + jIf i < 0.4 ThenIf z = 1 ThenShapes.Zoom(tri, 1 + i, 1 + i)ElseIf z = 2 ThenShapes.Zoom(rect, 1 + i, 1 + i)ElseIf z = 3 Then Shapes.Zoom(circ, 1 + i, 1 + i) EndIfEndIfEndIf j = j + 0.1EndIfEndIfIf x > 390 And x < 450 Then draw = 1 Paint()EndIfIf x > 450 And x < 510 Then draw = 0 j = 0GraphicsWindow.Clear() GraphicsWindow.BrushColor = „Blue“ GUI() draw = 0EndIfIf x > 530 And x < 590 Then draw = 0Program.End()EndIfEndIfEndSubSub PaintIfdraw = 1 ThenGraphicsWindow.MouseMove = MouseDragElseIf Mouse.IsLeftButtonDown ThenMouseAction() EndIfEndIfEndSubSub MouseDragIfdraw = 1 thenx = GraphicsWindow.MouseXy = GraphicsWindow.MouseYIf x > 10 And x < 600 And y > 10 And y < 320 ThenIf Mouse.IsLeftButtonDown ThenGraphicsWindow.DrawLine(OrgX, OrgY, x, y)EndIfEndIfOrgX = xOrgY = yEndIfEndSub