Das nachfolgende Beispiel zeigt, wie sich alle verfügbaren Modis einer Grafikkarte mit Hilfe von DirectX ermitteln lassen. Setzen Sie hierzu zunächst einen Verweis auf DirectX 7 for Visual Basic Type Library. Platzieren Sie anschließend folgende Controls auf die Form:
Und hier der Code: Option Explicit Dim m_dx As New DirectX7 Private Sub Form_Load() ' Init Display Detection getDisplayCards Combo2.ListIndex = 0 Combo1.ListIndex = 0 End Sub ' alle Anzeigentreiber ermitteln Sub getDisplayCards() Dim ddEnum As DirectDrawEnum Dim i Set ddEnum = m_dx.GetDDEnum() For i = 1 To ddEnum.GetCount() With Combo2 .AddItem (ddEnum.GetDescription(i)) .ItemData(.NewIndex) = i End With Next i End Sub ' alle Grafikkarten-Modis ermitteln und auflisten Sub getdisplaymodes(sGuid As String) Dim DisplayModesEnum As DirectDrawEnumModes Dim ddsd2 As DDSURFACEDESC2 Dim DD As DirectDraw7 Dim dold As Long Dim i As Long On Error GoTo DIRECTX_Error Set DD = m_dx.DirectDrawCreate(sGuid) DD.SetCooperativeLevel Me.hWnd, DDSCL_NORMAL Set DisplayModesEnum = DD.GetDisplayModesEnum( _ DDEDM_DEFAULT, ddsd2) For i = 1 To DisplayModesEnum.GetCount() DisplayModesEnum.GetItem i, ddsd2 Combo1.AddItem Trim(Str(ddsd2.lWidth)) + "x" + _ Trim(Str(ddsd2.lHeight)) + ":" + _ Trim(Str(ddsd2.ddpfPixelFormat.lRGBBitCount)) + "Bit" Next Exit Sub DIRECTX_Error: MsgBox "ERROR INIT DIRECT X!!!" End Sub ' alle Grafikmodis des gewählten Anzeigentreibers ' ermitteln und auflisten Private Sub Combo2_Click() Dim ddEnum As DirectDrawEnum Dim StrGuid As String Dim i As Long Set ddEnum = m_dx.GetDDEnum() i = Combo2.ItemData(Combo2.ListIndex) StrGuid = ddEnum.GetGuid(i) getdisplaymodes StrGuid End Sub Dieser Tipp wurde bereits 13.507 mal aufgerufen. Voriger Tipp | Zufälliger Tipp | Nächster Tipp
Anzeige
Diesen und auch alle anderen Tipps & Tricks finden Sie auch auf unserer aktuellen vb@rchiv Vol.6 (einschl. Beispielprojekt!) Ein absolutes Muss - Geballtes Wissen aus mehr als 8 Jahren vb@rchiv! - nahezu alle Tipps & Tricks und Workshops mit Beispielprojekten - Symbol-Galerie mit mehr als 3.200 Icons im modernen Look Weitere Infos - 4 Entwickler-Vollversionen (u.a. sevFTP für .NET), Online-Update-Funktion u.v.m. |
Neu! sevPopUp 2.0 Dynamische Kontextmenüs! Erstellen Sie mit nur wenigen Zeilen Code Kontextmenüs dynamisch zur Laufzeit. Vordefinierte Styles (XP, Office, OfficeXP, Vista oder Windows 8) erleichtern die Anpassung an die eigenen Anwendung... Tipp des Monats September 2024 Dieter Otter Übergabeparameter: String oder Array? Mit der IsArray-Funktion lässt sich prüfen, ob es sich bei einem Übergabeparameter an eine Prozedur um ein Array oder einer "einfachen" Variable handelt. Access-Tools Vol.1 Über 400 MByte Inhalt Mehr als 250 Access-Beispiele, 25 Add-Ins und ActiveX-Komponenten, 16 VB-Projekt inkl. Source, mehr als 320 Tipps & Tricks für Access und VB |
||||||||||||||||
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein. |