|
|
|
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.
|
|
|