Hi Dave,

How about something like this:


-- in the card or stack script if needed by multiple fields

on openField
 detectCloseField (the long id of the target)
end openField

on closeField
 -- first do whatever needs to be done at closeField time
 -- then turn detector off immediately after
 send "closeFieldDetected" to the target in 0 seconds
end closeField

on detectCloseField pTargetID
 insert script of btn "detector" into front
put pTargetID into vTargetField -- a local or global that's available to other handlers
end detectCloseField

on closeFieldDetected
 remove script of btn "detector" from front
 put empty into vTargetField
end detectCloseField


-- script of btn "detector" - a hidden, disabled button

on mouseDown
 if vTargetField <> empty then -- we have a situation
   send "closeField" to vTargetField
 end if
 pass mouseDown
end mouseDown


Sorry - sometimes it's easier to code it than 'splain it! I haven't tested this so let the buyer beware.

HTH -
Phil Davis



Dave wrote:
Hi,

I asked about this problem ages ago, but didn't get a response, so I'm asking again as it's just come up again!

I am running on a Mac. If the user fills in a field and then tabs out of the field, either a closeField or exitField message is sent to the field. All well and good. However, if the user clicks on a button, nether messages are sent!

This is supposedly normal behavior since from the docs:

"If the lookAndFeel property is set to "Macintosh", the closeField message is generally not sent when another control (such as a button) is clicked. This is because clicked buttons do not receive the focus on Mac OS systems, and therefore the selection remains active."

(incidentally, in this case the "lookAndFeel" and feel property is set to "Appearance Manager", so according to the above it should still send the message(s).)

This effectively means that it\s impossible to ensure that a field is valid using these messages, so what's the use of having them or am I missing something.

I want to let the user enter a number of fields and then when the user clicks the button, I check to see if they are valid and if not put if an error message. The problem is that the three field must be examined together, so I'd like to be able to store the contents of each field in a custom property of the stack and then check them in the mouseUp handler of the button. I can't really access the fields directly (as is put field "XXX" into whatever) since the check may be run on a different card and it's really horrible to access fields like that.

Any ideas or suggestions would be greatly appreciated!

All the Best
Dave



_______________________________________________
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

_______________________________________________
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