title image


Smiley Ein Formular mit Bildlaufleisten...dazu brauchst du...
eine vertikale Scrollbar und mindestens ein Frame auf der Form.

Die Scrollbar eben an der rechten Kante, das Frame dann so groß,

daß du alle Steuerelemente darauf unterbringst.

Die Steuerelemente müssen auf dem Frame sein, also es muß

das Frame markiert sein, wenn du die Textbox (oder welches

Steuerelement auch immer) auf die Form ziehst. Am besten, du

machst ein Steuerelementefeld daraus, dann kannst du zur Laufzeit

beliebig viele Steuerelemente nachladen.

Das Frame eben so groß machen daß alle Steuerelemente Platz haben,

das darf ruhig größer sein wie die Form, bzw es muß eigentlich

sogar größer sein, was soll man denn sonst scrollen.



Der Trick an der ganzen Sache ist jetzt der, daß du mit der

Scrollbar die Top-Eigenschaft des Frames setzt (darf auch negativ

sein). Und schon scrollst du die "Form".





Noch ein paar Tipps:



Beim dynamischen Erstellen von Steuerelementen mit Load...

unbedingt den Container des Steuerelements auf das Frame

setzen (such mal im Archiv nach Container, dazu gibts 'nen

Beitrag von mir)



Für die Einstellungen der Scrollbar (LargeChange) kannst du entweder

die Anzahl von gleichen Steuerelementen oder die Höhe des Frames

verwenden. Da ist dann ein bischen was zu rechnen, als Ergebnis

brauchst du im Prinzip den neuen Top-Wert für das Frame.



Wenn du die Scrollbarposition per Code setzt, die Scrollbar vorher

unsichtbar schalten, den Wert setzen und dann wieder sichtbar machen.

Sonst blinkt die Scrollbar.

Das ist zB dann nötig, wenn du per Tab-Taste von einer "Zeile" in die

nächste springen läßt. Wenn du am unteren sichtbaren Bereich angekommen

bist, mußt du im Prinzip per Code scrollen, der Focus geht nämlich sonst

auf das nächste (verdecke) Steuerelement und der User sieht den nicht.



Wenn du nicht den gesamten Formbereich scrollen willst sondern nur

einen Teil (zB ganz unten noch ein Bereich mit dem Schließen-Button,

der immer da sein soll), dann brauchst du ein Frame mehr. Das eine

Frame eben zum "spazierenschieben" und das andere vor den Bereich,

der nicht gescrollt wird. Es ist jetzt darauf zu achten, das das

Scrollframe unter dem festen Frame liegt (mit den Einstellmöglich-

keiten "Nach vorne/hinten setzen").

Das feste Frame muß unbedingt bis zum entsprechenden Formrand gehen,

wenn also das feste Frame unten ist, muß es bis zum unteren Rand

gehen, wenns oben ist eben bis zum oberen. Dadurch schiebst du das

Scrollframe unter dem festen Frame rum, das Scrollframe wird aber

an dieser Stelle vom festen Frame verdeckt.




Gruß
Gaga

___________________________________________________________________

Profilösungen für VB6
wenn nicht anders angegeben, sind alle Codebeispiele nicht getestet, nur getippt


geschrieben von

Login

E-Mail:
  

Passwort:
  

Beitrag anfügen

Symbol:
 
 
 
 
 
 
 
 
 
 
 
 
 

Überschrift: