Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1844to1848
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Userform an Bildschirmgröße anpassen
15.09.2021 09:01:09
Henry
Hallo liebes Forum,
ich würde gerne meine Userform an eine variable Bildschirmgröße anpassen/zoomen.
Es gibt im I-Net zwar zahlreiche Beiträge hierzu; allerdings beziehen sich diese Beiträge immer auf die Bildschirmauflösung (nicht Bildschirmgröße).
Bsp.
Mein Notebook hat die Auflösung 1920x1080. Die Userform füllt das Fenster aus.
Mein Monitor hat ebenfalls die Auflösung 1920x1080. Hier soll die Userform aber wesentlicher größer dargestellt werden/gezoomt werden (inkl. aller Buttons, Labels, Schrift).
Hat hier jemand eine Idee?
VG

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Userform an Bildschirmgröße anpassen
15.09.2021 09:16:48
Oberschlumpf
Hi Henry
meine Idee:
Ermittel die Größe des Bildschirms (Notebooks haben ja meist die Größe von 14 Zoll oder so; Schreibtischmonitore dürften so 27 Zoll groß sein, oder eben auch anders)

Select GrößeMonitor
Case 14 Zoll (oder anders)
Hier die Größe deines Userform(ular)s an 14 Zoll anpassen
Case 27 Zoll (oder anders)
Hier die Größe deines Userform(ular)s an 27 Zoll anpassen
hier musst du dann aber auch jedes einzelne Control in Höhe/Breite/Position anpassen (und zurücksetzen, wenn Exit aus Userform)
End Select
Mein "Code" ist nur als Konzept gezeigt. Ich weiß leider nicht, wie die Größe (nicht Auflösung) eines Monitors ermittelt wird. Aber du, VBA = gut, findet da vielleicht etwas. (ich weiß, dass man die Größe auslesen kann, aber ich weiß nicht wo/wie)
Deswegen lass ich den Beitrag auch als offen markiert.
Konnte ich helfen?
Ciao
Thorsten
Anzeige
AW: Userform an Bildschirmgröße anpassen
15.09.2021 20:03:30
Firmus
Hi Henry,
ist das das richtige?

Private Declare Function GetDC Lib "user32" (ByVal hwnd As Long) As Long
Private Declare Function GetDeviceCaps Lib "gdi32" (ByVal hDC As Long, ByVal nIndex As Long) As Long
Const HORZSIZE = 4
Const VERTSIZE = 6
Sub test()
MsgBox "Größe: " & GetDeviceCaps(GetDC(0), HORZSIZE) & "x" & GetDeviceCaps(GetDC(0), VERTSIZE) & " mm" & Chr(10) & _
"Diag: " & Format(Sqr((GetDeviceCaps(GetDC(0), HORZSIZE)) ^ 2 + (GetDeviceCaps(GetDC(0), VERTSIZE)) ^ 2) / 25.4, "0.00") & " Zoll"
End Sub
Hier gefunden: http://www.office-loesung.de/ftopic612851_0_0_asc.php
google-Suchworte: bildschirmgröße auslesen vba
Gruß,
Firmus
Anzeige
AW: Userform an Bildschirmgröße anpassen
15.09.2021 20:41:43
Daniel
HI
es gibt die Funktion Userform1.Zoom = x (von 10 bis 400), mit der du die Größe der Anzeige der Steuerelemente innerhalb der Userform angepasst werden kann (für den kompletten Inhalt), die Gesamtgröße der Userform ansich musst du weiterhin über über .Width und .Height einstellen.
das automatische Auslesen der Bildschirmdaten wird vermutlich etwas komplizierter
http://www.office-loesung.de/ftopic612851_0_0_asc.php
http://www.office-loesung.de/ftopic612851_15_0_asc.php
wäre also die Frage, ob du das den Anwender nicht selber einstellen lässt, z.B. über eine Scrollbar, Drehfeld, oder du machst drei Buttons (Klein/Mittel/Groß) mit festgelegten Werten.
Gruß Daniel
Anzeige

313 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige