Managing the hilite color of selected text
Terry Judd
tsj at unimelb.edu.au
Tue Sep 27 19:17:51 EDT 2011
Pete - try something like this in your field script
local pSelection
on mouseLeave
if word 2 of the selectedField = the number of me then
put the selectedChunk into pSelection
end if
end mouseLeave
on openField
if pSelection is not empty then
set the backgroundColor of pSelection to empty
put empty into pSelection
end if
end openField
on exitField
if pSelection is not empty then
set the backgroundColor of pSelection to "0,255,255"
end if
end exitField
on closeField
exitField
end closeField
Terry...
On 28/09/2011, at 06:19 AM, Pete wrote:
LC does not retain the hilite of any selected text in a field once you click
on another control and does not restore it when you click back into the
field again. I'm hoping to find a generalised solution to this.
In other applications, it seems that the standard way of working is:
- change the hilite of any selected text in a field to a light grey color
when another control is clicked
- change the hilite back to the blue hilite color if the user tabs back into
the field
- clear the hilite completely if the user clicks back into the field
That's the behavior I'm aiming for.
So far, I have:
- a mouseLeave handler that sets a custom property of the field to its
selectedChunk and changes the backgroundcolor of the selectedchunk to gray
- a mouseEnter handler that uses the custom property to set the
backgroundcolor of the selected text back to blue again.
So far so good. What remains is to handle what happens when the user
arrives back into the field either by tabbing into it or by clicking into
it.
So far I have tried to use an openField handler to achieve this. Right now,
I'm just trying to deal with the situation where the user clicks back into
the field, by setting the background color of the field to either empty or
white, but neither method removes the highlight from the selected text and
if I type more text into the field, it appears with the hilite background
color. Even if I delete all the text in the field and type new text in, it
still appears with the blue background color.
The other issue is how to distinguish between the user clicking into the
field and tabbing into it.
I'm pretty sure this must have come up before so hoping for some guidance
from anyone who has come up with the solution.
Thanks,
Pete
Molly's Revenge <http://www.mollysrevenge.com>
_______________________________________________
use-livecode mailing list
use-livecode at lists.runrev.com<mailto:use-livecode at lists.runrev.com>
Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode
More information about the use-livecode
mailing list