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.

 

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.