Contents

The following Help Topics are available:

Introduction

License Agreement

Order Form

For Help on Help, Press F1


Order Form

All orders must be accompanied by a P.O. or pre-paid by check or credit card.

Shipping Address	Billing Address (if different from shipping address)
Name_________________________________________	Name______________________________________
Company______________________________________	Company__________________________________
Address______________________________________	Address___________________________________
City___________State___Zip______Country______	City_________State___Zip______Country_______
Telephone_______________Fax________________	Telephone______________Fax_______________
Product	Unit Price	Quantity	Total
BaseClass Library ( without source)	$249	________	________
BaseClass Library with source(Excel, TabFolder, Toolbar, Outliner, Help, Search,  Shared DW, Normalized DW, Report, Login, WinApi and other controls)	$499	________	________
BaseClass Library Upgrade Subscription ( 6 monthly upgrades)	$99	__________	___________
Application Security Library	$199	__________	__________
Application Security Library Upgrade Subscription ( 3 upgrades )	$49	__________	__________
Excel Communication Object with source( requires BaseClass Library)	$99	__________	__________
TabFolder Object ( with source)	$99	__________	__________
MDI Components with source	$49
Outliner/Navigator Object	$49	__________	__________
Toolbar/Toolbox Object with source	$49	__________	__________
MessageBox Object with source	$49
Database based Software Distribution System with source	$199	__________	__________
Import/Export utility ( PowerBuilder 4 required ) with source	$199	__________	__________
Image Gallery Contol	$249	__________	__________
Image Gallery Contol with source ( PowerBuilder & C++ )	$499	__________	__________
Imaging Toolkit/Video Multimedia Framework for PowerBuilder	$1999	__________	__________
2nd Day Air - no charge	Sub-Total	__________
Next Day Air - $11.25	Sales Tax (New York only at 8.25%)	__________
Next Day Priority - $13.50	Shipping/Handling*	__________
CompuServe ID #	Total	__________
Payment Method (U.S. Dollars Only)

Purchase Order (must be attached to order)     PO#______________________________	Check here [  ]
COD (U.S. Only)	COD Charge $5.00	Check here [  ]
Prepaid -check one		Company check [  ] Personal check [  ]
Credit Card- check one		Visa [   ]  Mastercard [  ]

Name as Appears on Card __________________________________________________________

Card Number ___________________________                        Expires (month/year) _____________________

Bank___________________________________	Signature _______________________________
Send Orders to:

Computer Technology, Inc.,

99-01 Ascan Ave, Forest Hills, NY 11375

Tel: (718) 793-9074  Fax: (718) 793-7121


License Agreement

COMPUTER TECHNOLOGY INCORPORATED  LICENSE AGREEMENT

for

The CTI  PowerBase Class Library

This is a legal agreement between you (either an individual or an entity) and Computer Technology, Inc. ( CTI).  By opening the sealed software packet(s) you are agreeing to be bound by the terms of this agreement.  If you do not agree to the terms of this agreement, promptly return  the unopened software packet(s) and any accompanying written materials to the place you obtained them for a full refund.

CTI SOFTWARE LICENSE

1.GRANT OF LICENSE.

CTI grants to you the following rights with respect to the above-referenced CTI software programs included with this package ( collectively the "SOFTWARE"):

(a) Use.  You may use those portions of the SOFTWARE designated as the CTI  PowerBase Class Library on a single computer system for the sole purpose of designing and developing software product(s) designed to operate in the Microsoft Windows environment.  In addition, you may use and modify those portions of the SOFTWARE designated as the the CTI  PowerBase Class Library and accompanying source code (collectively "Code") for the sole purpose of designing and developing software product(s) designed to operate in the Microsoft Windows environment.

(b)Distribution.  You have a royalty-free right to reproduce and distribute the  provided that you: (i) distribute the CTI  PowerBase Class Library  only in conjunction with and as a part of your software application ( either in EXE or PBD format without source code and programmers reference ) product which is designed to operate in the Microsoft Windows environment; (ii) do not use CTI's name, logos, or trademarks to market your software application product; (iii) include a valid copyright notice for your software application product; and (iv) agree to indemnify, hold harmless, and defend CTI and its authors from and against any claims or lawsuits, including attorneys' fees, that arise or result from the use or distribution of your software application product.

For the purposes of this Section, "use" means loading the SOFTWARE into temporary memory (i.e.. RAM) as well as installation on a hard disk or other storage device.  You may access the SOFTWARE from a hard disk, over a network, or any other method you choose so long as you otherwise comply with this Agreement.

2.COPYRIGHT.

The SOFTWARE is owned by CTI or its suppliers and is protected by United States copyright laws and international treaty provisions.  Therefore, you must treat the SOFTWARE like any other copyrighted material (e.g., a book or musical recording) except that you may either (a) make one copy of the SOFTWARE solely for backup or archival purposes, or (b) transfer the SOFTWARE to a single hard disk provided you keep the original solely for backup or archival purposes.  You may not copy the written materials accompanying the SOFTWARE.

3. OTHER RESTRICTIONS.

You may not rent or lease the SOFTWARE, but you may transfer the SOFTWARE and accompanying written materials on a permanent basis provided you retain no copies and the recipient agrees to the terms of this Agreement.  You may not reverse engineer, decompile, or disassemble the SOFTWARE.  If the SOFTWARE is an update or has been updated, any transfer must include the most recent update and all prior versions.

4.DUAL MEDIA SOFTWARE.

If the SOFTWARE package contains both 3.5" and 5.25" disks, then you may use only the disks appropriate for your single-user computer.  You may not use the other disks on another computer or loan, rent, lease, or transfer them to another user except as part of the permanent transfer (as provided above) of all SOFTWARE and written materials.

5.To the extent of any inconsistencies between this Agreement and an agreement for a product (e.g. CD-ROM PRODUCT) which includes the SOFTWARE,  this Agreement shall control.

LIMITED  WARRANTY

LIMITED WARRANTY.

 CTI warrants that  (a) the SOFTWARE will perform substantially in accordance with the accompanying materials for a period of thirty(30) days from the date of receipt; and (b) any hardware accompanying the SOFTWARE will be free from defects in materials and workmanship under normal use and service for period of 180 days from the day of receipt. Any implied warranties on the SOFTWARE and hardware are limited to 30 (thirty) and 180(one hundred eighty ) days,  respectively. Some states do not allow limitations duration of an implied warranty, so the above limitation may not apply to you.

CUSTOMER REMEDIES.

CTIs entire liability and your exclusive remedy shall be, at CTIs option, either (a) return of the price paid or (b) repair or replacement of the SOFTWARE or hardware that does not meet CTIs Limited Warranty and that is returned to CTI with a copy of your receipt. This Limited Warranty is void if failure of the SOFTWARE or hardware has resulted from accident, abuse or  misapplication.  Any replacement SOFTWARE will be warranted for 30(thirty) days. These remedies are not available outside of the United States of America.

NO OTHER WARRANTIES.

CTI FURTHER DISCLAIMS ALL IMPLIED WARRANTIES INCLUDING WITHOUT LIMITATION ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR OF FITNESS FOR A PARTICULAR PURPOSE.  THE ENTIRE RISK ARISING OUT OF THE USE OR PERFORMANCE OF THE SOFTWARE  AND DOCUMENTATION REMAINS WITH YOU.

NO LIABILITY FOR CONSEQUENTIAL DAMAGES.

IN NO EVENT SHALL CTI OR ANYONE ELSE INVOLVED IN THE CREATION, PRODUCTION, OR DELIVERY OF THE SOFTWARE BE LIABLE FOR ANY DAMAGES WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS, BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR OTHER PECUNIARY LOSS) ARISING OUT OF THE USE OF OR INABILITY TO USE THE SOFTWARE OR DOCUMENTATION, EVEN IF CTI HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.  BECAUSE SOME STATES/COUNTRIES DO NOT ALLOW THE EXCLUSION OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES, THE ABOVE LIMITATION MAY NOT APPLY TO YOU.

U.S. GOVERNMENT RESTRICTED RIGHTS

The SOFTWARE and documentation are provided with RESTRICTED RIGHTS.  Use, duplication, or disclosure by the Government is subject to restrictions as set forth in subparagraph (c)(1)(ii) of The Rights in Technical Data and Computer Software clause at DFARS 252.227-7013 or subparagraphs (c)(1) and (2) of the Commercial Computer Software -- Restricted Rights 48 CFR 52.227-19, as applicable.  Manufacturer is CTI /99-01 Ascan Ave/Forest Hills,  NY 11375.

If you acquired this product in the United States, this Agreement is governed by the laws of the State of  New York

Should you have any questions concerning this Agreement, or if you desire to contact CTI for any reason, please write:  CTI / 99-01 Ascan Ave/Forest Hills,  NY 11375.


MDI Sheets

Sheets are windows that can be opened in the client area of an MDI frame. Any window that is available to the application and is not an MDI frame can be a sheet. To open a sheet, use the OpenSheet function.

In an MDI frame, users can open windows (sheets) to perform activities. For example, in an electronic mail application, an MDI frame might have sheets that the users open to create and send messages, read messages they have received, and reply to these messages. All the sheets can be open at the same time and the user can move among the sheets, performing different activities in each sheet.

To open a sheet in the client area of an MDI frame, use the OpenSheet function in a script for an event in a MenuItem, an event in another sheet, or an event in any control in the frame. In the OpenSheet function, you can specify how the sheet will be opened:

Cascaded	Displayed with the other open sheets. The sheets are arranged so they overlap and all the title bars are visible
Layered	Displayed the size of the workspace.
Original	Displayed the size it was built.
Tip	You should not Open a sheet from within the Open event for a sheet.


Introduction

Multiple Document Interface (MDI) is an application style in which users can open multiple document windows (sheets) in a single window (the MDI frame window) and move among the sheets. The sheets are usually of the same type and have common features or uses.

An MDI frame window has five parts:

A frame	A menu
A client area	Sheets
Toolbars
Figure 0-1

Click on the appropriate part of the frame for the help

MDI applications became de-facto standard for medium and large Windows applications.  This library provides enhancement to standard PB MDI Frame  by introducing two additional components: background mdi window and status line control.

Click on the appropriate part of the frame for the help

These components provide you with the necessary objects to make your PowerBuilder applications MDI frame to look the same as popular Windows application

MDI background object allows you to place any non-editable window as MDI background. Application splash screens, application wallpaper and background processes can be placed there.

Another object is the Status Line Window located in the MicroHelp area at the bottom of the application window. You usually want to provide each sheet/window with it's own MicroHelp Panel

Each sheet has a lot of things to report about itself to the user. Typical samples include status of the current control , current search, filter or sort criteria name. etc.. You can also include such standard elements as keyboard status ( Insert / Override, NumLock), clock, current date, user name or access level, Windows resources, etc..

Unlike Standard MicroHelp each field in status bar is static, providing independent access to each and every attribute. If you feel that element is not always needed, it can be minimized by clicking on the appropriate associated icon/glyph


mdi_1

mdi_1 is the name of the space in which you open and display sheets in an MDI frame window (the client area). When you save an MDI frame window, PowerBuilder creates a control (the client area) and names it mdi_1. mdi_1 displays in the Paste Objects list in the PowerScript painter, and you use it to reference the client area in scripts for the MDI frame window.

Note	Although mdi_1 is not a reserved word, problems can result when you use it to name windows or controls in MDI applications.


Using Menus in MDI Frame Windows

When you build an MDI frame window, you must associate a menu with the frame. It is good practice to include items in the menu to open sheets in the frame. Also, a menu provides a nice way to close the frame if the user has closed all the sheets.

A sheet can have its own menu, but it is not required to. The menu for the current (active) sheet displays in the menu bar of the frame window. When a sheet without a menu is opened, it uses the frame's menu.


The MDI Client Area

The area within the MDI frame is the client area. This is the area wher you open and display sheets. In a standard MDI frame, PowerBuilder sizes the client area so it fills the space inside the frame. For example, if the frame has a menu bar and MicroHelp, the client area fills the space between the sides of the frame and the space below the menu bar and  above the MicroHelp.

In a custom MDI frame window, you determine the size of the client area. For example, if the frame has buttons below the menu bar in the frame, you would size the client area so it begins below the buttons.


MDI frame window

The window in a Multiple Document Interchange (MDI) application in which users can open multiple document windows (sheets) and move among the sheets. The sheets are usually of the same type and have common features or uses.

An MDI frame window has three parts: a frame, a client area, and sheets.


MicroHelp

A brief description of a menu item or toolbar icon that displays in the status bar at the bottom of the window. To display MicroHelp, click the item or icon. The MicroHelp displays as long as you do not release the mouse button. If you want to select the item, release the mouse button in the item or icon.

Tip	You can use the SetMicroHelp function to set MicroHelp for an MDI frame window.


MDI Toolbars

Menus can have toolbar items associated with them. Those items will show up on  MDI Frame or on the sheet toolbar when the sheet with menu associated is active.


MDI Background

This base window can be used  as a base for your custom MDI background windows. Just inherit frim this window, place your controls there, and plug the new window name in MDI base frame instance variable. All binding and positioning is done automatically, the background window will be resized together with MDI_1 or centered within it depending on instance variable setup.


Status Line Windows

Standard PB MicroHelp provides convinient way to show status information on the current item. Unfortunately, applications usually require more then just that.

Status Line Window object allows you to place any window within MDI status line. That window will be automatically placed over right part of the MicroHelp area. It leaves enough space for standard MicroHelp message yet providing additional 3D placeholders for the additional elements.

Each sheet has a lot of things to report about itself to the user. Typical samples include status of the current control , current search, filter or sort criteria name. etc.. You can also include such standard elements as keyboard status ( Insert / Override, NumLock), clock, current date, user name or access level, Windows resources, etc..

Unlike Standard MicroHelp each field in status bar is static, providing independent access to each and every attribute. If you feel that element is not always needed, it can be minimized by clicking on the appropriate associated icon/glyph