Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
756to760
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
756to760
756to760
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

UserForm mit Scrollbars

UserForm mit Scrollbars
24.04.2006 13:22:58
Mabus
Jetzt habe ich 1 Stunde lang im Netz gesucht: Vieles gefunden aber nicht das was ich suche...
Ich habe eine Userform programmiert in der über die gesamt Seite Werte in Text-Formen angezeigt werden. Die UserForm hat eine Höhe von 655.
Jetzt soll diese UserForm auch anderen Anwendern zur Verfügung gestellt werden. Da ich davon ausgehen kann, daß nicht alle Anwender die gleiche Bildschirm-Auflösung und/oder - Größe haben, möchte ich die UserForm mit Scrollbars versehen.
Über die Eigenschaft "KeepScrollBarsVisible" und "ScrollBars: 3" werden mir die Scrollbars auch angezeigt. Es findet sich aber kein "Schieber" um nach oben odet unten zu scrollen...
Wer kann mir bitte helfen ? Danke !

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: UserForm mit Scrollbars
24.04.2006 19:02:20
Ralf
Hi Mabus,
auch wenn Du verzweifelt bist, Anrede und ein kurzer Gruss gehören zum guten Umgangston.
Zu Deinem Problem. Wenn der Max-Wert der Scrollbar kleiner gleich Formmaße ist, was soll dann gescrollt werden? Im Übrigen halte ich Deine Lösung für ungünstig. Was, wenn der Nutzer eine noch kleinere Auflösung als Du benutzt? Dann sieht er evtl. nicht einmal die Scrollbalken. Und dann...?
Du musst also sowieso die Bildschirmauflösung ermitteln. Das machst Du so. Folgenden Code in ein Allgemeines Modul.


Public Declare Function GetSystemMetrics Lib "user32" (ByVal nIndex As LongAs 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

In das Activate Ereignis der Form (noch anzupassen):


Static Start As Boolean
If Not Start Then
Ermitteln 'Aufruf obiger Funktion
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
frmName.Height = frmName.Height * faktor
frmName.Width = frmName.Width * f1
Dim obj As Control
For Each obj In Controls
'    MsgBox obj.Name
    obj.Left = obj.Left * f1
    obj.Top = obj.Top * faktor
    obj.Width = obj.Width * f1
If Left(obj.Name, 3) = "cmd" Then GoTo weiter  'Or Left(obj.Name, 2) = "lb"
    obj.Height = obj.Height * faktor
weiter:
Next
End If


Ist zwar nicht die optimalste aber wenigstens eine brauchbare Lösung auf die Schnelle.
Ciao, Ralf
Anzeige
AW: UserForm mit Scrollbars
26.04.2006 15:27:21
Mabus
Sorry Ralf.
Ist sonst nicht meine Art nicht zu grüßen.
Es drängte nur die Zeit...
Danke für die Lösung !

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige