Hi David,
Le 23 juin 07 à 12:15, David Glasgow a écrit :
I have a list field containing the names of JPGs. I want the
selected image displayed. This is easy using mouseup or
selectionchanged to trigger the appropriate URL being prepended to
the filename, and the file displayed correctly.
However, I wanted users to be able to arrow up and down through the
field, and the image to change just as if the selection had changed
by being clicked on. Unfortunately, selectionchanged is not sent
if the selection is changed via arrow keys. This is a bit sad,
but documented as normal behaviour. This means you need to catch
arrowkey, and then script accordingly.
I was surprised to discover that the selectedline reported in this
way seems to lag one behind the actual selected line, and display
an image adjacent to the correct one. I put the script in a group
containing the list field, so I expected the selection to have
changed by the time the message reached the group. But it
doesn't. Que pasa?
I have worked around it by adding or subtracting one from the
reported selectedline in a switch case structure, but then had to
add script to test whether the tnewselectedline variable would be
taken out of range by the calculation. Happy to have got it
working, but I can't believe there isn't a better way of doing
things (- isn't there always in Rev?).
If the selection change by arrow key triggered the selectionchanged
message, my cludge wouldn't be needed at all. What have other
folks done to achieve the same thing?
Here is a code snippet that might get you started.
You'll put it in the card script.
on arrowkey pKey
if the number of lines of fld <My Field> > 2 then
if (pKey = "up" and the hilitedLines of fld <My Field> = 1) then
set the hilitedLines of fld <My Field> to the number of lines
of fld <My Field>
else if (pKey = "down" and the hilitedLines of fld <My Field> =
the number of lines of fld <My Field>) then
set the hilitedLines of fld <My Field> to 1
else
if pKey = "down" then set the hilitedLines of fld <My Field>
to (the hilitedLines of fld <My Field> + 1)
else set the hilitedLines of fld <My Field> to (the
hilitedLines of fld <My Field> - 1)
end if
<Display Image>
end if
end arrowkey
Note that it acts like a carousel.
Rev does not send selectionChanged when selection is changed by
script: could bring recursion problems ;-)
Best regards from Paris,
Eric Chatonet.
----------------------------------------------------------------
Plugins and tutorials for Revolution: http://www.sosmartsoftware.com/
Email: [EMAIL PROTECTED]/
----------------------------------------------------------------
_______________________________________________
use-revolution mailing list
[email protected]
Please visit this url to subscribe, unsubscribe and manage your subscription
preferences:
http://lists.runrev.com/mailman/listinfo/use-revolution