vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Erstellen von dynamischen Kontextmen?s - wann immer Sie sie brauchen!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

Visual-Basic Einsteiger
So noch kleine Korrektur  
Autor: unbekannt
Datum: 01.01.02 15:02

Option Explicit
 
Private Declare Function EnumDisplaySettings Lib "user32" _
        Alias "EnumDisplaySettingsA" (ByVal lpszDeviceName _
        As Long, ByVal iModeNum As Long, lpDevMode As Any) _
        As Boolean
 
Private Declare Function ChangeDisplaySettings Lib "user32" _
        Alias "ChangeDisplaySettingsA" (lpDevMode As Any, _
        ByVal dwFlags As Long) As Long
 
Const CCDEVICENAME = 32
Const CCFORMNAME = 32
Const DM_BITSPERPEL = &H40000
Const DM_PELSWIDTH = &H80000
Const DM_PELSHEIGHT = &H100000
Const CDS_UPDATEREGISTRY = &H1
Const CDS_TEST = &H4
Const DISP_CHANGE_SUCCESSFUL = 0
Const DISP_CHANGE_RESTART = 1
Const ENUM_CURRENT_SETTINGS = &HFFFF - 1
 
Private Type DEVMODE
  dmDeviceName As String * CCDEVICENAME
  dmSpecVersion As Integer
  dmDriverVersion As Integer
  dmSize As Integer
  dmDriverExtra As Integer
  dmFields As Long
  dmOrientation As Integer
  dmPaperSize As Integer
  dmPaperLength As Integer
  dmPaperWidth As Integer
  dmScale As Integer
  dmCopies As Integer
  dmDefaultSource As Integer
  dmPrintQuality As Integer
  dmColor As Integer
  dmDuplex As Integer
  dmYResolution As Integer
  dmTTOption As Integer
  dmCollate As Integer
  dmFormName As String * CCFORMNAME
  dmUnusedPadding As Integer
  dmBitsPerPel As Integer
  dmPelsWidth As Long
  dmPelsHeight As Long
  dmDisplayFlags As Long
  dmDisplayFrequency As Long
End Type
 
Private Dev As DEVMODE
Private MergeSCREENX As Integer
Private MergeSCREENY As Integer
 
Private Const SCREENWIDTH As Integer = 1024
Private Const SCREENHEIGHT As Integer = 768
 
'Diese Prozedur wird automatisch ausgeführt, wenn die
'Anwendung gestartet wird ....
Private Sub Auto_Open()
      Dim JN As Variant
 
      Application.Visible = False
 
      EnumDisplaySettings 0&, ENUM_CURRENT_SETTINGS, Dev
 
      If Dev.dmPelsWidth < SCREENWIDTH Then
              JN = MsgBox("Das vorliegende Programm wurde für eine " & _
                      "Bildschirmauflösung von 1024 x 768 Punkten optimiert. " _
                      & _
                      "Ihre gegenwärtige Bildschirmauflösung ist jedoch" & _
                      "kleiner. " & _
                     String(2, vbCrLf) & _
                      "Bitte vergewissern Sie sich, ob Ihre Hardware," & _
                      "insbesondere " & _
                      "Ihr Monitor mit dieser Auflösung arbeiten kann." & _
                      "Bestätigen Sie " & _
                      "mit JA, wenn dies der Fall ist und NEIN wenn Sie sich" & _
                      "nicht  " & _
                      "Sicher sind oder Ihr Monitor diese Auflösung nicht" & _
                      "verarbeiten kann. " & _
                      String(2, vbCrLf) & _
                      "Sollten Sie fortfahren, wird für evtl. Schäden an der" & _
                      "Hardware keine " & _
                     "Haftung übernommen!", _
                     vbQuestion + vbYesNo, "W A R N H I N W E I S")
 
               If JN = vbNo Then
                     Application.Visible = True
                     Exit Sub
               Else
                     JN = MsgBox("Soll die Auflösung wirklich geändert" & _
                       "werden?", _
                                 vbExclamation + vbYesNo, "Auflösung wird" & _
                                 "geändert")
                      If JN = vbNo Then
                          Application.Visible = True
                          Exit Sub
                      End If
               End If
      End If
 
      MergeSCREENX = Dev.dmPelsWidth
      MergeSCREENY = Dev.dmPelsHeight
 
      If Dev.dmPelsWidth <> SCREENWIDTH Then
          SetScreen SCREENWIDTH, SCREENHEIGHT
      End If
 
      'Hier in das Programm einspringen
      UserForm1.Show
End Sub
 
Private Sub Auto_Close()
     'Evtl. alte Bildschirmauflösung wieder herstellen
 
     If Dev.dmPelsWidth <> MergeSCREENX Then
           SetScreen MergeSCREENX, MergeSCREENY
     End If
End Sub
 
Private Sub SetScreen(ByVal x&, ByVal y&)
    Dim Result&
 
    Dev.dmFields = DM_PELSWIDTH Or DM_PELSHEIGHT
    Dev.dmPelsWidth = x
    Dev.dmPelsHeight = y
 
    Result = ChangeDisplaySettings(Dev, CDS_TEST)
    ChangeDisplay
End Sub
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Automatisch den Bildschirm anpassen?59Snow31.12.01 12:06
Re: Automatisch den Bildschirm anpassen?470unbekannt31.12.01 14:30
Re: Automatisch den Bildschirm anpassen?33Snow31.12.01 18:05
Meintest Du das hier:756unbekannt31.12.01 18:39
Re: (: Anfänger29Snow01.01.02 19:42
Re: (: Anfänger39Snow01.01.02 19:42
Re: (: Anfänger372unbekannt01.01.02 19:47
Jaaaaaaaaaaa34Snow01.01.02 11:53
Re: Jaaaaaaaaaaa394unbekannt01.01.02 14:08
Re: Jaaaaaaaaaaa55Snow01.01.02 14:50
Re: Jaaaaaaaaaaa575unbekannt01.01.02 14:58
so, so 23Snow01.01.02 15:38
So noch kleine Korrektur 418unbekannt01.01.02 15:02
(: Anfänger28Snow01.01.02 18:43
Re: (: Anfänger412unbekannt01.01.02 18:50
Re: (: Anfänger22Snow01.01.02 20:04
Ganz einfach:361unbekannt01.01.02 20:13
ja, ja22Snow01.01.02 20:43
Re: ja, ja354unbekannt01.01.02 20:55
Re: ja, ja20Snow01.01.02 21:13
Muhhaaa27Snow01.01.02 21:33
Re: Muhhaaa396unbekannt01.01.02 21:39
Re: Jo25Snow02.01.02 07:07

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
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.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel