|
U kunt de component ScrollPane gebruiken om inhoud weer te geven die te groot is voor het gebied waarin deze inhoud wordt geladen. Als u bijvoorbeeld een grote afbeelding in een toepassing met weinig ruimte wilt plaatsen, kunt u de afbeelding in een ScrollPane laden. De ScrollPane accepteert filmclips, JPEG-, PNG-, GIF- en SWF-bestanden.
Componenten zoals de ScrollPane en de UILoader hebben gebeurtenissen
complete
die u toestaan te bepalen wanneer het laden van inhoud is voltooid. Als u eigenschappen voor de inhoud van een ScrollPane of UILoader wilt instellen, luistert u naar de gebeurtenis
complete
en stelt u de eigenschap in de gebeurtenishandler in. De volgende code maakt bijvoorbeeld een listener voor de gebeurtenis Event.
COMPLETE
en een gebeurtenishandler die de eigenschap
alpha
van de inhoud van ScrollPane op 0,5 instelt:
function spComplete(event:Event):void{
aSp.content.alpha = .5;
}
aSp.addEventListener(Event.COMPLETE, spComplete);
Als u een locatie opgeeft tijdens het laden van inhoud in ScrollPane, moet u de locatie (x- en y-coördinaten) 0, 0 opgeven. De volgende code laadt bijvoorbeeld de eigenschap ScrollPane omdat het vak op locatie 0, 0 is getekend:
var box:MovieClip = new MovieClip();
box.graphics.beginFill(0xFF0000, 1);
box.graphics.drawRect(0, 0, 150, 300);
box.graphics.endFill();
aSp.source = box; //load ScrollPane
Zie de klasse ScrollPane in de
Naslaggids voor ActionScript 3.0
voor Adobe Flash Professional CS5
voor meer informatie.
Gebruikersinteractie met de component ScrollPane
Een ScrollPane kan worden ingeschakeld of uitgeschakeld. Een uitgeschakelde ScrollPane kan geen muis- of toetsenbordinvoer ontvangen. De gebruiker kan de volgende toetsen gebruiken om een ScrollPane te beheren wanneer deze focus heeft:
|
Toets
|
Beschrijving
|
|
Pijl-omlaag
|
Hiermee wordt de inhoud een verticale regelschuiving omhoog verplaatst.
|
|
Pijl-omhoog
|
Hiermee wordt de inhoud een verticale regelschuiving omlaag verplaatst.
|
|
End
|
Hiermee wordt de inhoud naar de onderkant van de ScrollPane verplaatst.
|
|
Pijl-links
|
Hiermee wordt de inhoud een horizontale regelschuiving naar rechts verplaatst.
|
|
Pijl-rechts
|
Hiermee wordt de inhoud een horizontale regelschuiving naar links verplaatst.
|
|
Startpagina
|
Hiermee wordt de inhoud naar de bovenkant van de ScrollPane verplaatst.
|
|
End
|
Hiermee wordt de inhoud naar de onderkant van de ScrollPane verplaatst.
|
|
PageDown
|
Hiermee wordt de inhoud een verticale paginaschuiving omhoog verplaatst.
|
|
PageUp
|
Hiermee wordt de inhoud een verticale paginaschuiving omlaag verplaatst.
|
Een gebruiker kan de muis gebruiken om met de inhoud en de verticale en horizontale schuifbalken van ScrollPane te werken. De gebruiker kan inhoud met de muis slepen wanneer de eigenschap
scrollDrag
ingesteld staat op
true
. De weergave van een handje-cursor boven de inhoud geeft aan dat de gebruiker de inhoud kan slepen. In tegenstelling tot de meeste besturingselementen, treden handelingen op wanneer de muisknop wordt ingedrukt en deze worden uitgevoerd tot het moment waarop de knop wordt losgelaten. Als de inhoud geldige tabstops bevat, moet u
scrollDrag
instellen op false. Zoniet hebben alle muisklikken op de inhoud schuifslepen tot gevolg.
Parameters van de component ScrollPane
U kunt in Eigenschapcontrole of Componentcontrole de volgende parameters instellen voor elke instantie van ScrollPane:
horizontalLineScrollSize
,
horizontalPageScrollSize
,
horizontalScrollPolicy, scrollDrag, source, verticalLineScrollSize, verticalPageScrollSize,
en
verticalScrollPolicy
. Elk van deze parameters heeft een bijbehorende ActionScript-eigenschap met dezelfde naam. Zie de klasse ScrollPane in de
Naslaggids voor ActionScript 3.0
voor Adobe Flash Professional CS5
voor informatie over de mogelijk waarden voor deze parameters.
U kunt ActionScript schrijven om deze en additionele opties voor een component ScrollPane via zijn eigenschappen, methoden en gebeurtenissen te beheren.
Een toepassing met de component ScrollPane maken
De volgende procedure laat zien hoe u een component ScrollPane tijdens het ontwerpen aan een toepassing kunt toevoegen. In dit voorbeeld laadt ScrollPane een afbeelding uit een pad dat is opgegeven door de eigenschap
source
.
-
Maak een nieuw Flash-document (ActionScript 3.0).
-
Sleep de component ScrollPane van het deelvenster Componenten naar het werkgebied en geef deze de instantienaam
aSp
.
-
Open het deelvenster Handelingen, selecteer frame 1 van de hoofdtijdlijn en voeg de volgende ActionScript-code toe:
import fl.events.ScrollEvent;
aSp.setSize(300, 200);
function scrollListener(event:ScrollEvent):void {
trace("horizontalScPosition: " + aSp.horizontalScrollPosition +
", verticalScrollPosition = " + aSp.verticalScrollPosition);
};
aSp.addEventListener(ScrollEvent.SCROLL, scrollListener);
function completeListener(event:Event):void {
trace(event.target.source + " has completed loading.");
};
// Add listener.
aSp.addEventListener(Event.COMPLETE, completeListener);
aSp.source = "http://www.helpexamples.com/flash/images/image1.jpg";
-
Selecteer Besturing > Film testen om de toepassing uit te voeren.
Een instantie ScrollPane met ActionScript maken
In het voorbeeld wordt een ScrollPane gemaakt, de grootte wordt ervan ingesteld en er wordt een afbeelding in geladen via de eigenschap
source
. Er worden ook twee listeners gemaakt. De eerste listener luistert naar een gebeurtenis
scroll
en geeft de positie van de afbeelding weer terwijl de gebruiker verticaal of horizontaal schuift. De tweede listener luistert naar een gebeurtenis
complete
en geeft een bericht in het deelvenster Uitvoer weer dat aangeeft dat het laden van de afbeelding voltooid is.
In dit voorbeeld wordt met ActionScript een ScrollPane gemaakt en hierin wordt een MovieClip (een rood vak) geplaatst met een breedte van 150 pixels en een hoogte van 300 pixels.
-
Maak een nieuw Flash-document (ActionScript 3.0).
-
Sleep de component ScrollPane van het deelvenster Componenten naar het deelvenster Bibliotheek.
-
Sleep de component DataGrid van het deelvenster Componenten naar het deelvenster Bibliotheek.
-
Open het deelvenster Handelingen, selecteer frame 1 van de hoofdtijdlijn en voeg de volgende ActionScript-code toe:
import fl.containers.ScrollPane;
import fl.controls.ScrollPolicy;
import fl.controls.DataGrid;
import fl.data.DataProvider;
var aSp:ScrollPane = new ScrollPane();
var aBox:MovieClip = new MovieClip();
drawBox(aBox, 0xFF0000); //draw a red box
aSp.source = aBox;
aSp.setSize(150, 200);
aSp.move(100, 100);
addChild(aSp);
function drawBox(box:MovieClip,color:uint):void {
box.graphics.beginFill(color, 1);
box.graphics.drawRect(0, 0, 150, 300);
box.graphics.endFill();
}
-
Selecteer Besturing > Film testen om de toepassing uit te voeren.
|
|
|