Eingebaute Bildlaufleisten
Dialoge sind immer zu klein. Diese Erkenntnis kommt einem relativ schnell beim Programmieren, denn schon bald sollen so viele Informationen auf der begrenzten Bildschirmfläche angezeigt werden, dass es eng wird. Lorenz Hölscher führt ein paar Techniken vor, wie Sie mit Bildlaufleisten mehr Platz schaffen. Dazu braucht es noch nicht einmal immer VBA-Programmierung.
Übungsdateien
Zusätzlich zum PDF bieten wir noch zwei Übungsdateien zum Download an: rollbalken.zip (79 kB).
Nutzung einer eingebauten Bildlaufleiste
Normalerweise tauchen Bildlaufleisten (auch als Rollbalken bezeichnet, engl. Scrollbar) in Programmfenstern automatisch auf, wenn etwa Fenster zu klein für ihren Inhalt sind. Meistens passiert das, wenn zu viele Kontrollelemente untergebracht werden müssen, beispielsweise für die Felder eines Datensatzes. Damit es hier nicht so aufwändig wird, dient hier einfach ein viel zu großes Foto als "Problem", welches auf einem Dialog angezeigt werden soll.
Normalerweise würden Sie ein Foto natürlich im Anzeige-Steuerelement auf dem Dialog darstellen. Da dieses aber keine automatischen Bildlaufleisten besitzt, fügen Sie stattdessen ein Rahmen-Kontrollelement hinzu.
Das Rahmen-Kontrollelement kann verschiedene andere Kontrollelemente gruppieren.
Anstatt nun jedoch in diesem Rahmen verschiedene andere Kontrollelemente einzufügen, erhält er ein eigenes Hintergrundbild. Wählen Sie für seine Picture-Eigenschaft über deren Schaltfläche mit den drei Pünktchen ein beliebiges großes Bild aus (hier ein Foto von EvelynIsHere). Wenn Sie den Dialog ausreichend vergrößern, sieht es so aus:
Noch passt das Bild in den Rahmen.
Allerdings soll der Dialog, und damit auch der Rahmen, viel kleiner werden. Verkleinern Sie die beiden Objekte deutlich, so dass es wie folgt aussieht:
Jetzt ist nur noch ein Ausschnitt des Bildes zu sehen.
Damit das Foto auf dem fertigen Dialog verschoben werden kann, müssen Sie die eingebauten Bildlaufleisten des Rahmen-Kontrollelements aktivieren und die Größe des Scroll-Bereichs anpassen:
