Anzeige
Archiv - Navigation
736to740
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
736to740
736to740
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Bildschirmgroesse

Bildschirmgroesse
28.02.2006 23:54:28
alex
Hallo Forum,
folgendes Problem.
Hab eine Userform die ich auf bildschirmgroesse anpassen will.
Die Aufloesung kann ich auslesen.
BildschirmBreite = GetSystemMetrics(SM_CXSCREEN)
BildschirmHöhe = GetSystemMetrics(SM_CYSCREEN)
wenn ich dann userform1.widh= BildschirmBreite mache ist die Userform groesser als der Bildschirm
? warum

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Bildschirmgroesse weitere Fragen
01.03.2006 00:09:27
Daniel
Hallo,
Welche Werte bekommst du den für die Bildschirmbreite?
Um wieviel Grösser ist denn die Userform als der Bildschirm?
Mußt du vielleicht einfach noch diverse Ränder und Scrollbars berücksichtigen?
Ich vermute einfach mal das die Breite der Userform in einer anderen Maßeinheit angeben wird als die Bildschirmbreite und du noch einen Umrechenfaktor einbauen mußt
Bei mir ist die Funktion leider nicht implementiert, daher kann ich es leider nicht ausprobieren.
Gruß, Daniel
AW: Bildschirmgroesse weitere Fragen
01.03.2006 00:09:29
Daniel
Hallo,
Welche Werte bekommst du den für die Bildschirmbreite?
Um wieviel Grösser ist denn die Userform als der Bildschirm?
Mußt du vielleicht einfach noch diverse Ränder und Scrollbars berücksichtigen?
Ich vermute einfach mal das die Breite der Userform in einer anderen Maßeinheit angeben wird als die Bildschirmbreite und du noch einen Umrechenfaktor einbauen mußt
Bei mir ist die Funktion leider nicht implementiert, daher kann ich es leider nicht ausprobieren.
Gruß, Daniel
Anzeige
AW: Bildschirmgroesse
01.03.2006 00:25:45
alex
Wie gesagt die aufloesung stimmt die ich auslese. wenn ich die ausgelesenen werte fuer die userform uebernehme ist die userform zu gross.
AW: Bildschirmgroesse
01.03.2006 00:32:54
J.L.
Was auf jeden Fall klappt, ist
Application.ScreenUpdating = False ' kannst Du bei Bedarf weglassen
Application.WindowStatus = xLMaximized ' nur falls vorher nicht der Fall
Userform.Height = Application.Height
Userform.Width = Application.Width
Userform.Show
Application.WindowStatus = xLNormal 'nur falls Appl. nicht maximiert sein soll
Application.ScreenUpdating = True
zu dem anderen Problem kann ich auch nichts sagen.
Gruß
Jörg
Anzeige
sorry ist schon spät
01.03.2006 00:43:20
J.L.
muß
Application.WindowState
heißen
J.
AW: Bildschirmgroesse
01.03.2006 18:06:24
Ralf
Hi Alex,
es genügt leider nicht, nur die Größe der Form zu ändern. Die Größe der Objekte auf der Form muss ebenfalls angepasst werden. Ansonsten kann es passieren, dass Du einige nicht siehst, sie zu klein sind oder was sonst auch immer. Besser ist es m.E. nach den Bildschirm an die Form anzupassen. Dazu brauchst Du aber einige API-Kenntnisse. Ist auch etwas umfangreich. Ansonsten könntest Du Dir mit folgender Krücke behelfen:
In Form_Activate:
'Höhe & Breite der Auflösung ermitteln
Bildschirmaufloesung.Ermitteln 'Aufruf Deiner Funktion für GetSystemMetrics (anpassen)
Dim faktor As Double
If hoch = 640 Then 'hoch ist bei Dir BildschirmHöhe (wird in o.g. Fkt. ermittelt)
faktor = 0.8
ElseIf hoch = 720 Then
faktor = 0.9
ElseIf hoch = 848 Then
faktor = 1.06
ElseIf hoch = 1024 Then
faktor = 1.28
Else
faktor = 1
End If
Dim f1#
If breit = 480 Then 'breit ist bei Dir BildschirmBreite
f1 = 0.8
ElseIf breit = 576 Then
f1 = 0.96
ElseIf breit = 768 Then
f1 = 1.28
ElseIf breit = 768 Then
Else
f1 = 1
End If
Dim x As Byte
frmName.Height = frmName.Height * faktor
frmName.Width = frmName.Width * f1
Dim obj As Control
For Each obj In Controls
obj.Left = obj.Left * f1
obj.Top = obj.Top * faktor
obj.Width = obj.Width * f1
Next
Wie gesagt, ist nur eine Krücke, könnte Dir aber ein Stück weiterhelfen.
Ciao, Ralf
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige