AW: max. Bildschirmgrösse
07.10.2005 07:16:00
Ralf
Hallo Harald,
muß gleich weg, hab deshalb wenig Zeit. Deshalb nur kurz ein paar Hinweise. Unter http://www.allapi.net/ findest Du einen API Guide mit vielen Beispielen. Oder als schnelle Krücke:
In ein Standardmodul:
Option Explicit
Public Start as Boolean
Public Declare
Function GetSystemMetrics Lib "user32" (ByVal nIndex As Long) As Long
'Konstanten für GetSystemMetrics
Const Breite = 0 ' Konstante für Bildschirmbreite
Const Hoehe = 1 ' Konstante für Bildschirmhöhe
Public hoch As Long, breit As Long
Public
Sub Ermitteln()
breit = GetSystemMetrics(Hoehe)
hoch = GetSystemMetrics(Breite)
' MsgBox "Ihre Bildschirmauflösung ist: " & hoch & " mal " & breit
End Sub
Damit ermittelst Du die Auflösung des Nutzers. Dann in Form_Activate:
Private
Sub UserForm_Activate()
Static Start As Boolean
If Not Start Then
Bildschirmaufloesung.Ermitteln
Dim faktor As Double
If hoch = 640 Then
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
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
frmReim.Height = frmReim.Height * faktor
frmReim.Width = frmReim.Width * f1
Dim obj As Control
For Each obj In Controls
'Hier werden z.Bsp. alle Objekte angepasst...
obj.Left = obj.Left * f1
obj.Top = obj.Top * faktor
obj.Width = obj.Width * f1
obj.Height = obj.Height * faktor
Next
End If
Start = True
...usw...
Wie gesagt, nur eine Krücke, aber für den Anfang ganz brauchbar...
Ciao, Ralf