Die Klasse DesktopWindow (gb.desktop) repräsentiert ein Top-Level-Fenster. Objekte der Klasse können Sie so anlegen:
Dim hDesktopWindow As DesktopWindow hDesktopWindow = New DesktopWindow(Window As Integer)
Es wird aber empfohlen, DesktopWindow-Objekte nicht direkt anzulegen, sondern Zugriff auf ein Top-Level-Fenster über die Eigenschaft Desktop.Windows zu bekommen. Zwei Beispiele sollen das belegen:
Private Function Desktop_FindWindow(sPattern As String) As DesktopWindow[] Dim dtWindow As DesktopWindow Dim dtWList As New DesktopWindow[] Desktop.Windows.Refresh() ' Desktop.Windows präsentiert als virtuelles Objekt eine Liste aller Top-Level-Fenster For Each dtWindow In Desktop.Windows If dtWindow.Name Like sPattern Then dtWList.Add(dtWindow) Endif ' dtWindow.Name Like sPattern ? Next ' dtWindow Return dtWList End ' Function Desktop_FindWindow(..)
Public Sub btnExample_Click() Dim dtWindow As DesktopWindow Desktop.Windows.Refresh() For Each dtWindow In Desktop.Windows If dtWindow.SkipTaskbar = False Then Print "Window.Name = \"" & dtWindow.Name & "\" , X = " & dtWindow.X & " , Y = " & dtWindow.Y Endif ' dtWindow.SkipTaskbar = False Next ' dtWindow End ' btnExample_Click()
Der letzte Quelltext-Ausschnitt liefert beispielsweise folgende Ausgabe in der Konsole (IDE):
Window.Name = "Gambas Documentation - Desktop.Windows[] (gb.desktop) - Mozilla Firefox" , X = 0 , Y = 24 Window.Name = "19.7.4.odt - LibreOffice Writer" , X = 0 , Y = 24 Window.Name = "19.7_Desktop" , X = 0 , Y = 24 Window.Name = "k19:start [GAMBAS-BUCH 3.5.1] - Mozilla Firefox" , X = 0 , Y = 24 Window.Name = "propertytest 0.0.15 - Gambas 3" , X = 0 , Y = 24 Window.Name = "PropertyTest" , X = 304 , Y = 213
Ausgewählte Eigenschaften und Methoden der Klasse werden in den folgenden zwei Tabellen aufgeführt und beschrieben:
Eigenschaft | Type | Beschreibung |
---|---|---|
Desktop | Integer | Gibt die Nummer (0..k) des virtuellen Desktops zurück, wo das Fenster sichtbar ist oder setzt die Nummer des Desktops, auf dem das Fenster angezeigt wird. |
Icon | Image | Gibt das Fenster-Icon zurück. |
Id | Integer | Gibt den X11-Fenster-Identifizierer zurück. |
FullScreen | Boolean | Gibt an, ob das Fenster im Vollbild-Status ist oder setzt den Vollbild-Status. |
Height | Integer | Gibt die Höhe des Fensters an (Pixel). |
Width | Integer | Gibt die Breite des Fensters an (Pixel). |
Maximized | Boolean | Gibt True zurück, wenn das Fenster maximiert ist oder maximiert das Fenster. |
Minimized | Boolean | Gibt True zurück, wenn das Fenster minimiert ist oder minimiert das Fenster. |
Name | String | Gibt den Namen des Fensters an. Das ist der Fenster-Titel der Anwendung, die dieses Fenster besitzt. |
Sticky | Boolean | Gibt True zurück, wenn das Fenster auf allen Desktops angezeigt wird oder zeigt das Fenster auf allen Desktops an. |
Visible | String | Gibt den sichtbaren Namen der Fensters zurück. Das ist der Fenster-Titel wie er vom Fenster-Manager angezeigt wird. |
X | Integer | Gibt die x-Koordinate des Fensters zurück. |
Y | Integer | Gibt die y-Koordinate des Fensters zurück. |
Tabelle 15.4.1.1: Übersicht ausgewählter Eigenschaften der Klasse DesktopWindow
Methode | Beschreibung |
---|---|
Close() | Das Fenster wird geschlossen. |
GetIcon (Width As Integer, Height As Integer ) As Image | Gibt das Fenster-Symbol mit der angegebenen Größe zurück. |
Move ( X As Integer, Y As Integer [ , Width As Integer, Height As Integer ] ) | Das Fenster wird an die Position P(x,y) verschoben und optional in der Größe (Weite) und Höhe geändert. |
Refresh() | Stellt ein DesktopWindow-Objekt durch Abfragen der Geometrie des Fenster wieder her. Das geschieht bei einem DesktopWatcher.WindowGeometry-Ereignis automatisch. |
Resize ( Width As Integer, Height As Integer ) | Das Fenster wird nur in der Größe (Höhe und Weite) geändert. |
Tabelle 15.4.2.1: Ausgewählten Methoden der Klasse DesktopWindow
Weitere Ausführungen zur Klasse DesktopWindow (gb.desktop) finden Sie im Kapitel 15, das neben der Beschreibung der Klasse DesktopWatcher vor allem das praktische Zusammenspiel der beiden Klassen in einem Projekt demonstriert.
Artikel