Userform anhand der Bildschirmauflösung zoomen

Userforms werden unabhängig von der Bildschirmauflösung immer mit dem selbern Zoomfaktor angezeigt. Das bedeutet, dass Userforms, welche mit einer Bildschirmauflösung von 1600 x 1200 Punkten entwickelt wurden auf einem Computer mit einer Auflösung von 1024 x 768 überdimensional groß erscheinen.

Um dieses Problem zu umgehen, muss abhängig von der gewählten Auflösung die Userform dynamisch gezoomt werden.

Mit folgendem VBA-Code lässt sich dies realisieren.
Erfassen Sie den Code in einem Code-Modul.

'** API-Funktion zum Auslesen der Bildschirmauflösung
 Public Const SM_CXSCREEN = 0
 Public Const SM_CYSCREEN = 1
 Declare Function GetSystemMetrics Lib "user32" (ByVal nIndex As Long) As Long

Sub start_zoom()
'** Dimensionierung der Bariablen
 Dim Y_Resol_Std '100 % Standard-Auflösung
 Dim Y_Resol 'ausgelesene Auflösung
 Dim resol 'umgerechnete Auflösung
 
 '** Zoomfaktor manuell vorgeben
 resol = 100
 
 '** Standardgröße festlegen (Höhe 1024 = 100%)
 Y_Resol_Std = 1024
 
 '** Auslesen der Y-Resolution
 Y_Resol = GetSystemMetrics(SM_CYSCREEN)
 
 '** Prozentuale Umrechnung der ausgelesenen Resolution in Bezug
 '** auf die Standard Y-Resolution
 resol = Y_Resol * 100 / Y_Resol_Std
 
 '** Zoomen der Userform
 frmForm.Zoom = resol
 
 '** Größe der Userform anpassen
 frmForm.Width = frmForm.Width * resol / 100
 frmForm.Height = frmForm.Height * resol / 100
 
 '** Userform anzeigen
 frmForm.TextBox1.Value = resol
 frmForm.Show
 
 End Sub
 



Damit der Code funktioniert, müssen Sie eine UserForm mit der Bezeichnung "frmForm" anlegen, auf der Sie beliebige Steuerelemente zu Testzwecken plazieren können.

 

Partnerlinks

Relevante Artikel

Wir benutzen Cookies
Ihre Zufriedenheit ist unser Ziel, deshalb verwenden wir Cookies. Mit diesen ermöglichen wir, dass unsere Webseite zuverlässig und sicher läuft, wir die Performance im Blick behalten und Sie besser ansprechen können. Cookies werden benötigt, damit technisch alles funktioniert und Sie auch externe Inhalte lesen können. Des Weiteren sammeln wir unter anderem Daten über aufgerufene Seiten, getätigte Käufe oder geklickte Buttons, um so unser Angebot an Sie zu Verbessern. Mehr über unsere verwendeten Dienste erfahren Sie unter „Weitere Informationen“. Mit Klick auf „Akzeptieren“ erklären Sie sich mit der Verwendung dieser Dienste einverstanden. Ihre Einwilligung können Sie jederzeit mit Wirkung auf die Zukunft widerrufen oder ändern.