Hallo,
ich bin zur Zeit dabei mein Programm für jede Bildschirmauflösung richtig zu skalieren und habe im Internet folgenen Code gefunden:
Jetzt ist mir allerdings nicht ganz bewusst, wofür er die Variablen "WidthChange" und "HeightChange" deklariert, wenn er ihnen keine Werte zuweist?
Müsste in denen nicht irgendwie die Ursprungsgröße der Form abespeichert werden ?
Gruß
ich bin zur Zeit dabei mein Programm für jede Bildschirmauflösung richtig zu skalieren und habe im Internet folgenen Code gefunden:
VB.NET-Quellcode
- Public Sub SetDeviceIndependentWindow(ByVal ParamArray FormNamen As Form())
- ' Im Prozeduraufruf muss die zu ändernde Userform angegeben werden
- Dim HeightChange, WidthChange As Integer
- ' Skalierungsfaktor der aktuellen Auflösung
- ' In Bezug auf die ursprüngliche Auflösung
- X = (Screen.PrimaryScreen.Bounds.Width / X_RESOLUTION)
- Y = (Screen.PrimaryScreen.Bounds.Height / Y_RESOLUTION)
- ' Keine Neuanordung bei identischer Auflösung
- If X = 1 And Y = 1 Then Exit Sub
- For Each formname As Form In FormNamen
- ' Neue Abmessung der Userform berechnen
- formname.Height = CInt(formname.Height * Y)
- formname.Width = CInt(formname.Width * X)
- ' Userform neu positionieren
- formname.Left = formname.Left - CInt(WidthChange / 2)
- formname.Top = formname.Top - CInt(HeightChange / 2)
- ' Alle Controls durchlaufen und ändern
- For Each ctl As Control In formname.Controls
- CtlLoop(ctl)
- Next ctl
- Next formname
- End Sub
Jetzt ist mir allerdings nicht ganz bewusst, wofür er die Variablen "WidthChange" und "HeightChange" deklariert, wenn er ihnen keine Werte zuweist?
Müsste in denen nicht irgendwie die Ursprungsgröße der Form abespeichert werden ?
Gruß