UserForm auf Vollbildschirm

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
Bild

Betrifft: UserForm auf Vollbildschirm von: bastian
Geschrieben am: 15.03.2005 11:10:03

Hi,

ich möchte eine Userform immer als Vollbildschirm darstellen. Dazu muss ich ja erstmal die aktuelle Auflösung abgreifen und dann der form mittels userform.heigth und userform.witdh zuweisen ... denke ich. Doch wie komme ich an die aktuellen Auflösungen des jeweiligen PCs ? Ich befürchte das .width und .height keine Skalierungen sind, sondern nur die UserForm strecken, nicht aber alle Steuerelemente mit. Wie kann man das machen ?

Hat jemand einen Tipp ?

Vielen Dank und Gruss,

Bastian

Bild


Betrifft: AW: UserForm auf Vollbildschirm von: Bert
Geschrieben am: 15.03.2005 11:19:27

Dazu gabs schon mal eine professionelle Lösung von K.Rola mit Userform resize und zoom.
Musst halt mal die Recherche bemühen.

Bert


Bild


Betrifft: AW: UserForm auf Vollbildschirm von: Werner_R
Geschrieben am: 15.03.2005 11:24:34

Hallo Bastian,

Versuch es mal so.


Private Sub UserForm_Initialize()
Me.Width = Application.Width
Me.Height = Application.Height
End Sub


Das hab ich im Googel gefunden.

Gruss Werner


Bild


Betrifft: AW: UserForm auf Vollbildschirm von: bastian
Geschrieben am: 15.03.2005 12:37:32

Hi,

der Tipp von Werner verändert die Grösse auf die des Excelfensters, das will ich nicht, die kann ja auch ganz anders sein. Ich will unabhängig von allem immer die aktuelle Auflösung für die UserForm übernehmen. Wenn ich erstmal die aktuelle des PCs, auf dem es läuft ermitteln kann ist es kein Problem mehr, dann muss man nur noch rechnen. Um diese herauszufinden habe ich in der Zwischenzeit habe ich folgendes gefunden:

Dim x, y As Integer
x = Screen.Width / Screen.TwipsPerPixelX
y = Screen.Height / Screen.TwipsPerPixelY

Das funzt bei mir aber nicht, ich bekomme "Objekt erforderlich" gemeldet, "Screen" kennt er nicht. Muss ich da noch irgendwelche Standardverweise ergänzen ?

Gruss & Dank,

Bastian


Bild


Betrifft: Schau in die Recherche oT von: Uduuh
Geschrieben am: 15.03.2005 12:46:05




Bild


Betrifft: AW: Schau in die Recherche oT von: bastian
Geschrieben am: 15.03.2005 13:24:20

hi,

hab folgendes bei http://www.donkarl.com/AccessFAQ.htm?/FAQ/FAQ4Formulare.htm gefunden:

Kopiere folgendes in den Deklarationsbereich:

Declare
Function GetSystemMetrics Lib "user32" (ByVal nIndex As Long) As Long
Const SM_CXSCREEN = 0
Const SM_CYSCREEN = 1
Aufruf dann z.B. über eine Funktion wie:
Public 
Function fctAufloesung()
  fctAufloesung = "Pixel horizontal: " & GetSystemMetrics(SM_CXSCREEN) & _
    "  vertikal: " & GetSystemMetrics(SM_CYSCREEN)
End Function


Gruss Bastian


Bild


Betrifft: AW: UserForm auf Vollbildschirm von: neimes
Geschrieben am: 15.03.2005 13:52:36

Hi Bastian,

ich hab ähnliches gemacht, funzd relativ gut.
die zahl in "If GetSystemMetrics(0) = 800 Then" gibt die aktuelle horizontale auflösung an.
bei standardauflösungen ist das kein problem, bei exoten hab ichs noch nicht probiert.
je nach auflösung wird die userformgröße angepasst.
steuerlemente kannst du ja über die zoom funktion anpassen

ciao
alexe

ps code ist in modul untergebracht und wird bei macro start uber "userform initialize" mit "call screenres" gestartet






Declare
Function GetSystemMetrics Lib "user32" (ByVal nIndex As Long) As Long
Sub screenres()
If GetSystemMetrics(0) = 800 Then
    UserForm1.Width = 600
    UserForm1.Height = 450
    UserForm1.KeepScrollBarsVisible = fmScrollBarsBoth
    UserForm1.ScrollHeight = 744
    UserForm1.ScrollWidth = 957
End If
If GetSystemMetrics(0) = 1024 Then
    UserForm1.Width = 768
    UserForm1.Height = 576
    UserForm1.KeepScrollBarsVisible = fmScrollBarsBoth
    UserForm1.ScrollHeight = 744
    UserForm1.ScrollWidth = 957
End If
If GetSystemMetrics(0) = 1152 Then
    UserForm1.Width = 858
    UserForm1.Height = 648
    UserForm1.KeepScrollBarsVisible = fmScrollBarsBoth
    UserForm1.ScrollHeight = 744
    UserForm1.ScrollWidth = 957
End If
If GetSystemMetrics(0) = 1280 Then
    UserForm1.KeepScrollBarsVisible = fmScrollBarsNone
    UserForm1.Width = 960
    UserForm1.Height = 768
End If
End Sub



 Bild

Beiträge aus den Excel-Beispielen zum Thema "UserForm auf Vollbildschirm"