Die meisten DirectX-Programme lesen die verfügbaren Ressourcen des PCs während der Initialisierungsphase ein. Zum Beispiel kann ein Programm prüfen, welches DirectDraw verwendet, und welche Display-Modi verfügbar sind, oder ein Programm möchte feststellen, wie viele verfügbare Achsen und Buttons ein am PC angeschlossener Joystick hat.

In DirectX für Visual Basic werden Aufzählungen (Enumerations) automatisch behandelt, wenn das Programm ein solches Objekt verwendet. Wird solch ein Objekt erstellt, dann wird automatisch auch eine Aufzählung (Collection) erstellt. Diese Collection existiert so lange, wie das Objekt existiert.

Einige Aufzählungen erhält man durch das DirectX7-Objekt, so z.B. die DirectSound-Devices. Über die DirectX7.GetDSEnum-Methode erhält man eine Aufzählung der verfügbaren Soundkarten und deren GUID's. Mit einer GUID aus dieser Aufzählung kann man dann ein DirectSound-Objekt erstellen.

Andere Aufzählungen erhält man von den DirectX Komponenten selbst. Das DirectInput-Objekt zum Beispiel, liefert eine Aufzählung mittels der DirectInput.GetDIEnumDevices-Methode.

Das folgende Beispiel zeigt wie alle am PC angeschlossenen Eingabegeräte aufgelistet werden. di ist ein DirectInput-Objekt.

Dim diEnum As DirectInputEnumDevices
Set diEnum = di.GetDIEnumDevices(0, DIEDFL_ATTACHEDONLY)

Mit zwei Methoden vom DirectInputEnumDevices-Objekt können nun die angeschlossenen Eingabegeräte aufgelistet werden, um z.B. ein Gerät rauszufinden, welches die gewünschte Eigenschaft hat. Im folgenden Beispiel wird der Name jedes Gerätes in eine ListBox geschrieben.

Dim diDevice As DirectInputDeviceInstance
Dim X As Integer
For X = 1 To diEnum.GetCount
  Set diDevice = diEnum.GetItem(X)
  Call List1.AddItem(diDevice.ProductName)
Next X

Zu beachten ist, dass mit DirectX erstellte Aufzählungen immer mit 1 beginnen.


Startseite | VB-/VBA-Tipps | Projekte | Tutorials | API-Referenz | Komponenten | Bücherecke | Gewinnspiele | VB-/VBA-Forum | DirectX-Forum | VB.Net | .Net-Forum | Foren-Archiv | Chat | Spielplatz | Links | Suchen | Stichwortverzeichnis | Feedback | Impressum

Seite empfehlen Bug-Report

Letzte Aktualisierung, Montag, 28. Oktober 2002