Benutzer-Werkzeuge

Webseiten-Werkzeuge


k14:k14.2:k14.2.1:start

14.2.1 Klasse Mouse

Die (statische) Klasse Mouse (gb.qt4) wird zum Abrufen von Informationen über die Maus verwendet und definiert Konstanten für die Form des Mauszeigers. Neben den Eigenschaften besitzt diese Klasse nur 2 Methoden. Die Klasse Mouse besitzt keine Ereignisse!

14.2.1.1 Maus-Eigenschaften

Es werden in der folgenden Tabelle nur ausgewählte Maus-Eigenschaften vorgestellt, weil Wesentliches zum Mausrad (MouseWheel) im Kapitel 14.2.3 'Mausrad – MouseWheel' beschrieben wird.

Eigenschaft Mouse.Beschreibung
AltGibt True zurück, wenn die ALT-Taste gedrückt wurde
ControlGibt True zurück, wenn die Control-Taste gedrückt wurde
ShiftGibt True zurück, wenn die SHIFT-Taste gedrückt wurde
LeftGibt True zurück, wenn die linke Maus-Taste gedrückt wurde
MiddleGibt True zurück, wenn die mittlere Maus-Taste gedrückt wurde
RightGibt True zurück, wenn die rechte Maus-Taste gedrückt wurde
XGibt die relative horizontale Position des Mauszeigers zurück (Integer-Wert)
YGibt die relative vertikale Position des Mauszeigers zurück (Integer-Wert)
MetaGibt True zurück, wenn die Meta- oder Super-Taste gedrückt wurde
ForwardGibt True zurück, wenn das Mausrad nach vorn gedreht wurde

Tabelle 14.2.1.1.1: Beschreibung ausgewählter Eigenschaften der Klasse 'Mouse'

14.2.1.2 Methoden der Klasse Mouse

Die Methode Mouse.Inside gibt True zurück, wenn sich der Maus-Zeiger über der angegebenen Komponente befindet:

Static Function Inside ( Control As Control ) As Boolean

Die Methode Mouse.Move bewegt den Mauszeiger an die definierte xy-Position auf dem Bildschirm:

Static Sub Move ( X As Integer, Y As Integer )

14.2.1.3 Maus-Zeiger – Konstanten

Mauszeiger sind immer an Komponenten gebunden. Gambas verfügt über einen Satz von definierten Mauszeigern und stellt für diese Mauszeiger Konstanten mit hinreichend selbsterklärender Bezeichnung zur Verfügung:

Arrow Blank Cross Custom Default Horizontal Pointing SizeAll SizeE SizeH SizeN SizeNE 
SizeNESW SizeNW SizeNWSE SizeS SizeSE SizeSW SizeV SizeW SplitH SplitV Text Vertical Wait

Von besonderer Bedeutung sind folgende Konstanten: Mouse.Blank, Mouse.Default, Mouse.Wait und für den Einsatz eigener Mauszeiger Mouse.Custom.

txtValue.Mouse = Mouse.Blank ' Die Komponente Textfeld besitzt keinen Mauszeiger
' Der Standard-Mauszeiger wird durch einen eigenen vorhandenen Mauszeiger ersetzt
DrawingArea1.Mouse = Mouse.Custom 
DrawingArea1.Cursor = New Cursor(Picture["icon:/16/pen"], 0, 15) 

Sie können alternativ in der IDE von Gambas den Bild-Editor aufrufen und dort eigene Mauszeiger zeichnen und diese dann für eigene Projekte verwenden:

Cursor

In der folgenden Prozedur wird der Mauszeiger des Formulars FMain vom Standard-Mauszeiger Mouse.Arrow auf Mouse.Wait umgestellt und nach dem Ende der Ausgaben des Befehls 'ping' wieder auf den Standard-Mauszeiger Mouse.Arrow geändert.

Public Sub btnPingOverShell_Click() 
  Dim sCommand As String 
 
  SetLEDColor("green") 
  TextArea.Clear 
  Wait 
  FMain.Mouse = Mouse.Wait 
    sCommand = sProgrammName & Chr(32) & TextBox1.Text & " -c 4" 
    Shell sCommand To TextArea.Text  
    TextArea.Text = gb.newline & TextArea.Text 
  FMain.Mouse = Mouse.Default 
  SetLEDColor("orange") 
End ' PingOverShell

Dieser Quelltext-Ausschnitt gehört zu einem Programm mit einem Fenster ohne Fensterzeile, das trotzdem komfortabel verschoben werden kann. Die angegebenen Prozeduren nutzen die Eigenschaften Mouse.Left sowie Mouse.X und Mouse.Y:

' Gambas class file 
' Kontext-Menü einbauen, um das Programm zu beenden! 
 
PUBLIC iDeltaX AS Integer 
PUBLIC iDeltaY AS Integer 
 
PUBLIC SUB Form_Open() 
  FMain.Center 
END ' Form_Open() 
 
PUBLIC SUB Form_MouseDown() 
  IF Mouse.Left THEN 
     iDeltaX = Mouse.X 
     iDeltaY = Mouse.Y 
  ENDIF ' Mouse.Left ?
END 
 
PUBLIC SUB Form_MouseMove() 
  IF Mouse.Left THEN 
     FMain.Move(FMain.X - iDeltaX + Mouse.X, FMain.Y - iDeltaY + Mouse.Y) 
  ENDIF ' Bei der Maus-Bewegung zusätzlich linke Maustaste gedrückt ?
END ' Form_MouseMove() 

Hinweise:

Komponente.Mouse ist die Eigenschaft einer Komponente, die nur im Zusammenhang mit dem Mauszeiger betrachtet wird. Sie kennzeichnet, welcher Mauszeiger verwendet werden soll – entweder ein Maus-Zeiger aus dem Bestand von Gambas oder ein eigener Mauszeiger:

FMain.Mouse = Mouse.Wait 
  sCommand = sProgrammName & Chr(32) & TextBox1.Text & " -c 4" 
  Shell sCommand To TextArea.Text  
  TextArea.Text = gb.newline & TextArea.Text 
FMain.Mouse = Mouse.Default 

Auch wenn die Klasse Mouse selbst keine Maus-Ereignisse besitzt, so existieren jedoch in den Klassen für bestimmte Komponenten Ereignisse (Events), die sich auf die Maus beziehen. Diese Ereignisse werden im Kapitel 14.2.2 behandelt.

Download

Artikel

Download

k14/k14.2/k14.2.1/start.txt · Zuletzt geändert: 20.06.2016 (Externe Bearbeitung)

Seiten-Werkzeuge