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

Reply via email to