Hi Sivakatirswami,
I have posted this a few times already, I guess it won't hurt if I
post it again.
The maximum scroll equals:
Code:
the formattedHeight of fld x - the height of fld x - the margins of
fld x - the textHeight of fld x
provided that the margins are an integer and the fixedLineHeight of
the field is true. If the margins are no integer, you probably need
to use item 4 of the margins. If the fixedLineHeight is not true, you
need to find a way to figure out the height of the last line of your
field. Also, the dontWrap of your field has to be set to true.
This is a nice way to do it:
Code:
getProp maxScroll
if word 1 of the name of the target is "field" then
return (the formattedHeight of the target - the height of the
target - the margins of the target - the textHeight of the target)
else return empty
end maxScroll
(untested, but should work)
Now, if you have this script at stack level or in a library, you can
call this property using:
Code:
put the maxScroll of fld x
set the vScroll of fld x to the maxScroll of fld x
The first line should return an integer, the second should set the
scroll of a field to the largest possible value.
--
Economy-x-Talk
Consultancy and Software Engineering
http://economy-x-talk.com
http://www.salery.biz
Get your store on-line within minutes with Salery Web Store software.
Download at http://www.salery.biz
Op 6-jul-2008, om 21:58 heeft Sivakatirswami het volgende geschreven:
How do you get the vscroll of a field that would be scrolled all
the way to the end, without actually scrolling it to the end?
What I want to do is the "rolling credits" thing.
This works
CASE "About"
put 1 into tAboutScroll
REPEAT until the vscroll of fld "About" = 2714
# the 2714 here is hard coded value...
# I want to get it as a property regardless of what the field
contains or it's size, font etc.
set the vscroll of fld "About" to tAboutScroll
put tAboutScroll +1 into tAboutScroll
IF the mouseclick THEN exit repeat
wait 1 ticks
END repeat
break
But you have to customize that for every field... the 2714 is hard
coded. I'm trying to get generic script that I can toss around from
one stack to another and they still work...
put the formattedheight of fld "song"-the height of fld "song"- the
vscroll of fld "song"
always returns 6... so one can calculate the ending vscroll value
from this, if I have the field scrolled to the very end. Is this
a "solid" algorithm:
on scrollsong
put 1 into tSongScroll
put (the formattedheight of fld "song"-the height of fld "song"-
5) into tEnd
REPEAT until the vscroll of fld "Song" = tEnd
set the vscroll of fld "song" to tSongScroll
put tSongScroll +1 into tSongScroll
IF the mouseclick THEN exit repeat
wait 5 milliseconds
END repeat
end scrollsong
it feels like a bit of a hack....when I could be use some actual
property.
skts
_______________________________________________
use-revolution mailing list
use-revolution@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription
preferences:
http://lists.runrev.com/mailman/listinfo/use-revolution