December 19, 2000
By Karen Kenworthy
IN THIS ISSUE
I hope you all made it home safely last week. The snow really came down just after we split up. Then the ice fell on top of the snow. Boy, were the roads nasty!
Show And Tell
Fortunately, I know a lot of you made it home OK, because of the great e-mail I received last week. One of the more interesting messages came from reader Paul Werner, who wrote "A suggestion. Might be interesting to see what folks are doing with Power Toy. You might want to solicit input and publish the result."
One advantage of writing the Power Tools newsletter is the considerable amount of e-mail I receive. A lot of it describes interesting uses for our programs, just as Paul suspected. But until I received Paul's message, it hadn't occurred to me to share those uses with the rest of our gang.
To start the ball rolling, Paul offered two ways he uses the Power Toy program:
"Jazz up E-Mail - My son, daughter and nephew each have installed the Power Toy. We each have adopted one of the characters and send messages in the form of *.toy files as e-mail attachments. Much more entertaining than dull written text!"
"I am doing volunteer work, trying to help an Asian refugee organization in Philadelphia. Power Toy has been useful as a teaching tool in a computer literacy course we just kicked off and I hope to have the folks in the computer literacy course create some stuff which will help perk up an "English as a second language" course which I hope to kick off next year."
I must say I'm thrilled the little Power Toy helps Paul's family stay close, and will assist new Americans make a new life. But all uses don't have to be so lofty. Anything that shows off the creativity I've seen in many of you will do. So if you have a use for any of our Power Tools you'd like to share, drop me a note at email@example.com. From time to time I'll pass along the best of the best!
Not all my e-mail brought good news. A few of you wrote to report a mysterious bug in the Power Toy version 2.3. After some good detective work, you narrowed the problem down to this: If you played a .toy file by double-clicking its icon, the replay would stop immediately after the first spoken phrase.
The cause turned out to be rather interesting, at least to those of us who have propellers on our beanies. To understand the problem, close your eyes and picture the Power Toys main window. Or if you have a copy of the program handy, open your eyes and look at it. :)
See the text box in the windows' lower-left corner? That's where you enter text you'd like your Agent character to speak. After the text has been entered, click the "Speak" button, and your Agent begins to talk.
Now here comes the tricky part. Immediately after the Agent finishes his speech, the Windows text cursor (that little I-beam gizmo) appears in the speech text box. This indicates Windows' "input focus" is on the box. In other words, whatever you type next will be stored in the speech text box, ready for your Agent's next soliloquy or philippic.
This small touch makes it easy to enter more text to be spoken. But it doesn't happen without a little work behind the scenes. When you click the Power Toy's Speak button, the button automatically receives Windows' input focus. In response to the click, the Power Toy orders the current Agent character to talk. When the talking is over, it asks Windows to give its input focus back to the speech text box.
And Windows is happy to oblige, when it can. But Windows has a firm rule: It never gives its input focus to an on-screen gizmo that's invisible. And when the Power Toy is loaded by double-clicking a .toy file's icon, the entire Power Toy main window is invisible -- speech text box and all.
Oops! That's why the program was failing immediately after the first phrase was spoken. No sooner were those words out of your Agent's mouth, then the Power Toy asked Windows to give its input focus to an invisible text box. Windows declined, deciding to abort the Power Toy instead. :(
To fix this problem, the Power Toy now checks to make sure the speech text box is visible, before asking Windows to give it the input focus. Now, .toy files play completely, even if the Power Toy is hiding. This new, smarter, Power Toy is called version 2.3.1, and can be downloaded from my Power Toy Web page at https://www.karenware.com/powertools/pttoy. As always, the program and its Visual Basic source code are free!
Next Monday is Christmas Day in most parts of the world, and I'll be celebrating that anniversary with my family. I hope you're able to spend time with those most important to you too.
And although I'll be thinking of you on that special day, I won't be writing my usual newsletter. Instead, we'll get together again one day later than usual, on Tuesday, December 26th.
But between now and then, look for me on the 'net, doing my last-minute Christmas shopping. If you see me there, be sure to wave and say "Hi!" And any help with my packages will be appreciated!