A question for the script gurus...
I've got a frame around an area that JFW doesn't read automatically (imagine
that, JFW not reading something automatically!)
With this frame, I have the Screen Echo set to "All", or JFW won't read it
at all. However, other screens overlap this frame, and it echos everything
that goes into that frame, even if it is just a small corner of another
window.
When some other trigger comes onto the screen, I'd like to be able to set
that particular frame's echo setting to "None". Is there any means of
accomplishing this?
The only means around this is to keep the echo set to either the default
that JFW sets, or set it to None, then set up "trigger" frames that will use
the SayFrame(MainFrame) whenever specific text appears within those small
trigger frames. That is a lot of overhead just to get the screen echo of a
frame changed depending on a few specific situations.
Currently, this is the method I'm using, but it has the potential of
ballooning the script file...
I've got a couple of Global variables defined early in the file, so you
won't see their declaration in this script example:
Script InterviewScreen()
let FrameText=GetTextInFrame("MainInterviewScreenFrame") ; Put frame text
into string variable.
; First, make sure we're in the correct screen...
If(GetWindowName(GetRealWindow(GetCurrentWindow())) == "EasyStep Interview")
; If we are, then check for all the possible triggers...
If(StringContains(FrameText,"New Company"
|| StringContains(FrameText,"Legal account"
|| StrimgContains(FrameText,"Account activity"
|| StringContains(FrameText, "Transaction History") Then
; If any trigger was found...
SayFrame("MainInterviewFrame")
; If it didn't find any triggers,
EndIf
EndIf
SayWindowTypeAndText(GetCurrentWindow())
EndScript
The problem is that I'd be continually adding possible trigger words to this
script, just to keep it from announcing in much fewer situations!
Thanks,
Dennis Brown
End
-
Visit the jfw ml web page: http://jfw.cjb.net