04.08.2013 Views

Printing - FoxTalk - dFPUG-Portal

Printing - FoxTalk - dFPUG-Portal

Printing - FoxTalk - dFPUG-Portal

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

when the button is disabled. The Screen Builder allows only for the first of these, so you have to<br />

get away from the limitations of the Screen Builder (in this case, it's done by using GENSCRNX<br />

and the *:PICTURE directive again).<br />

The code to define the list of bitmaps for this applications sets up two bitmaps for each button. In<br />

this case, est_gi_p.bmp is identical to est_gi.bmp, with the exception that it has a single-line<br />

border around the outside of the button. As different buttons are pressed, the border moves<br />

automatically (see Figure 5):<br />

m.lcPicture = "est_gi.bmp,est_gi_p.bmp;"+ ;<br />

"est_je.bmp,est_je_p.bmp"<br />

My users have become accustomed to the buttons and like being able to go where they want and<br />

see what they want so much that they found the menu system to be the long way to get things<br />

done. After filling in a complete order, users had to print three reports, and they were looking for<br />

a faster way than to select the three reports individually from the menu. A push button was added<br />

below the list of radio buttons. This push button had the same dimensions and almost exactly the<br />

same appearance as the radio buttons, so the users felt instantly comfortable with it. But the label<br />

on the button was "Print All." This button replaced the selection of three menu items so that the<br />

users could quickly print the three reports with the single order.<br />

Conclusion<br />

A wide range, both of tools and of programming and interface styles, are available in the<br />

development community. I see this daily in the hundreds of e-mail messages that I get over the<br />

Internet. Developers always want to include the best in their projects. It's good that developers<br />

are looking for alternatives because, when you see one, you can make the decision to use it right<br />

away, never use it, use it but adjust it a bit, or remember that you saw it and try it later.<br />

I hope that showing you this alternative prompts you to expand your tool set and join in the<br />

at-work and online discussions about other ideas, as well.<br />

Paul Russell is a software specialist with Software Kinetics Ltd., is chairman of the Fox Users of Nova<br />

Scotia, and is an active member of the FoxPro sections on the Internet. He has been programming for<br />

more than 10 years, with more than seven of those years of experience with the Fox product line. Internet<br />

prussell@fox.nstn.ca, or russell@atl.sofkin.ca, CompuServe 102440,2125.<br />

Sidebar: Refreshing @ .. SAY objects<br />

When a screen is generated, an extra procedure is created to handle the READ SHOW clause.<br />

All of the @ .. SAY (or "Output") objects that have the [ ] Refresh box checked are included<br />

twice -- once in the main definition of the screen, and again in the READ SHOW clause. Later,<br />

when the SHOW GETS command is executed, the READ SHOW procedure gets called. Using

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!