home *** CD-ROM | disk | FTP | other *** search
- Microworks ObjectMate 2.6
- Windows Interface Development Kit.
- Copyright ⌐ 1992-1994 Microworks
- Sydney, Australia.
- CompuServe 100026,1134
- Release date: 6-9-94.
-
- Welcome to ObjectMate 2.6
- --------------------------
-
- This README file contains important information about
- Microworks ObjectMate 2.6. You should read this entire file.
-
- -----------------
- TABLE OF CONTENTS
- -----------------
-
- 1. About ObjectMate.
- 2. What's Changed!
- 3. Installation.
- 4. Changes to your source code.
- 5. Using ObjectMate with Borland C++ 4.02.
- 6. Documentation.
- 7. Sample Applications.
- 8. ObjectMate is Shareware.
- 9. Acknowledgments.
-
-
-
- --------------------
- 1. ABOUT OBJECTMATE.
- --------------------
-
- If your unfamiliar with ObjectMate, ObjectMate is a complete
- interface development Kit for the Windows programmer that's
- compatible with ObjectWindows and Resource Workshop.
-
- The ObjectMate Interface Library, SFX200.DLL, is ObjectMate's
- custom control library. It's noticeably different from any
- other custom control library because it's not a BWCC.DLL or
- Ctl3D.DLL clone. Instead, it uses its own unique 3-dimensional
- style to implement an impressive range of objects including
- bitmap buttons, icon buttons, text buttons, static controls,
- shade controls, check boxes, radio buttons, edit controls, list
- boxes, lists edit boxes, combo boxes, percent gauges, toolbars,
- status bars, dialog boxes, common dialog boxes, windows, edit
- and file windows, MDI windows, frame windows, message boxes,
- input boxes and 3D menus.
-
- One of ObjectMate's best features is its functional enhancement
- over existing custom control libraries. For example, three new
- bitmap buttons GO, STOP and BROWSE have been added to the eight
- standard Borland-style bitmap buttons and the buttons have been
- enlarged so there is no glyph cram. Static controls can display
- normal text, 3-dimensional text or splash bitmaps. Shade
- controls can be used as group boxes, vertical and horizontal
- dividers or colored panels. Check boxes and radio buttons can
- either be raised or recessed and come in a choice of check
- color. The toolbar object can display popup toolbars, child
- toolbars, button panels and status bars. There are 4 custom
- dialog and window styles with 21 possible variations. The
- message box function includes 4 new button combinations: MB_GO,
- MB_GOSTOP, MB_OKCANCELHELP and MB_YESNOHELP; and there are
- seven message box styles. The input box function works just
- like the message box function but instead displays a dialog box
- that prompts the user for a single line of input text.
-
- The SFX Class Library encapsulates all the objects in SFX200.DLL
- into a hierarchy of ready to use ObjectWindows classes and
- comes in two versions: an ObjectWindows 2.0 version for Borland
- C++ 4.0 and an ObjectWindows 1.0 version for Borland Pascal
- 7.0.
-
-
-
- ------------------
- 2. WHAT'S CHANGED!
- ------------------
-
- In the design department, just about everything. SFX200.DLL has
- been completely rewritten. Overall, the interface is more
- impressive and more functional. The paint methods are flicker
- free so the window frames and custom controls are drawn
- smoothly, and Chicago-style window captions have been added as
- an option. The common dialog box templates have been redesigned
- and include several useful 'file' features and some extra
- buttons. The standard buttons are activated by simply
- specifying the appropriate flag, so there are no hooks to worry
- about. There are five new common dialog box functions that can
- be used instead of the Windows' common dialog box structures or
- OWL 2.0's common dialog box objects. Several new features have
- been added to the library including resizeable Borland style
- buttons, a status bar that supports flyover and tabbed text and
- 3-dimensional menus.
-
- One of the biggest changes is in the way SFX200.DLL draws the
- non-client area of its dialogs and windows. To paint the window
- frames flicker-free and add the new MWS_SFXCAPTION style it was
- necessary for SFX200.DLL to draw the non-client area itself.
- This has made ObjectMate 2.6 incompatible with existing version
- 2.1 programs (see Changes to your source code).
-
- ObjectMate no longer provides an ObjectWindows SFX class
- library for Borland C++ 3.1. If you use version 3.1 you will
- have to update your existing ObjectMate 2.1 header and source
- code files yourself. You can use the C++ 4.0 files a guide.
-
-
-
- -----------------
- 3. INSTALLATION.
- -----------------
-
- The source code for this installation program is provided as a
- sample application. If you want to take the time to look at it
- carefully, copy the program files to a floppy disk and install
- ObjectMate from there.
-
- DO NOT INSTALL OBJECTMATE 2.6 OVER THE TOP OF OBJECTMATE 2.1 OR
- OBJECTMATE 2.5 BETA. Although Install will overwrite your
- existing ObjectMate files, several obsolete directories and
- files will be left behind on your hard disk.
-
- Before running install delete your current ObjectMate SFX
- directories and files, you wont need them. Then, to install
- ObjectMate 2.6 run the program INSTALL.EXE. Full installation
- requires about 1.7 MB of hard disk space.
-
- After initialisation, Install presents you with
- several options. You should do the following:
-
- 1. Enter your compiler's base directory. If the base
- directory doesn't exist Install will create it.
-
- 2. Select the language files you wish to install, either
- Borland C++ 4.0, Borland Pascal or both.
-
- 3. Check the 'Add to Resource Workshop' check box to automatically
- have Resource Workshop load SFX200.DLL.
-
- 4. Check the 'Create ObjectMate Group' check box to have install
- create a Program Manager group for the documentation.
-
- Install should be run from the same directory as the compressed
- program files. The ObjectMate Interface Library SFX200.DLL and
- its Windows help file SFX200.HLP will be copied into your
- Windows system subdirectory. You should leave SFX200.DLL in
- this subdirectory. You can move SFX200.HLP but make sure its in
- a directory in your path statement. Otherwise Resource Workshop
- wont be able to display the on-line help. The language files
- you select will be copied into new subdirectories in your base
- directory.
-
- If you install the C++ 4.0 files you will find:
-
- - the documentation in your base\doc\sfx subdirectory,
- - the header files in your base\include\sfx subdirectory,
- - the library files in your base\lib\sfx subdirectory,
- - the source code files in your base\source\sfx subdirectory,
- - and the sample applications in your base\examples\sfx subdirectory.
-
- If you install the Pascal files you will find:
-
- - the SFX object unit's SFX200.PAS, SFXWNDS.PAS, ODMENU.PAS and
- ODLIST.PAS
- in your base\sfx\units subdirectory,
- - the sample applications in your base\sfx\examples subdirectory,
- - and the SFX200.H header file and the documentation in your base\sfx
- subdirectory.
-
- If you work with RC files in Resource Workshop you will need to
- add SFX200.H to your RC project file using the 'File\Add to
- project..' menu item. Pascal programmers will need to add the
- new base\sfx\units subdirectory to the UNIT directories entry
- field in options/directories dialog box in BP 7.0.
-
- At the end of the installation you can either read this file or
- exit Install. If SFX200.DLL was loaded into memory before the
- installation you will have to restart Windows. Otherwise you
- can exit Install and continue with your current Windows
- session.
-
-
-
- --------------------------------
- 4. CHANGES TO YOUR SOURCE CODE.
- --------------------------------
-
- A few minor changes were necessary but overall little or no
- change to your source code should be required. In most cases
- just recompiling your source code with the new library files is
- all that's necessary.
-
-
- SFXDefFrameProc:
-
- - SFXDefFrameProc has an extra parameter, the client window
- handle.
-
-
- TSFXButton:
-
- - A new function has been added:
-
- 1. SetIcon - Sets the icon to displayed on an icon button.
-
- TSFXToolbar:
-
- - Five new functions have been added:
-
- 1. GetText - retrieves the status bar text.
-
- 2. SetFont - sets the status bar font.
-
- 3. SetText - sets the status bar text.
-
- 4. SetTool - changes a button's ID and bitmaps.
-
- 5. StatusWindow - returns a handle to the static text
- window.
-
- C++ 4.0 CHANGES:
-
- - Some errors were made in the initial implementation of the
- OWL 2.0 SFX class library that came ObjectMate 2.0/2.1.
- ObjectMate 2.6 fixes these problems.
-
- - TSFXApplication was an unsuccessful attempt at integrating the
- SFX class library into OWL 2.0 and has been removed. You should
- now derive your application from TApplication as usual and make
- atleast one call to an SFX200.DLL function, such as
- GetSFXVersion(); in OwlMain. The files SAPP.H and SAPP.CPP have
- been deleted.
-
- - The OWL 2.0 window classes have been rewritten and now
- contain minimal code.
-
-
- PASCAL CHANGES:
-
- - The TSFX3DMDIClient class has been deleted. TSFXMDIClient
- has a new constructor that specifies whether to use the
- global SFXMDICLIENT or SFX3DMDICLIENT class client window.
-
- - The SFX200 unit has been split into SFX200.PAS and
- SFXWNDS.PAS. The SFXWnds unit contains TSFXEditWindow and
- TSFXFileWindow. Previously, all the edit/file window dialogs
- and menus where added to every application that used SFX200.
- Having a separate edit/file window unit fixes this
- problem.
-
- -----------------------------------------
- 5. USING OBJECTMATE WITH BORLAND C++ 4.02.
- -----------------------------------------
-
- Borland's recent service update BC++ 4.02 has a bug in its IDE
- that incorrectly unloads a user defined DLL from memory. When a
- program using a DLL is compiled and run from within its IDE and
- terminated, the DLL's WEP function is not called. This is
- disastrous for SFX200.DLL because its WEP function deletes all
- the bitmaps, brushes, fonts and pens that it uses. When the IDE
- unloads SFX200.DLL from memory the system resources used by the
- GDI objects are not returned to the system. Eventually, after
- repeated launchings, the system resources drop to zero and your
- forced to reboot Windows.
-
- This is not a bug in SFX200.DLL because it doesn't happen when
- a program is compiled and linked in the IDE but run from
- outside, and it doesn't happen in the BC++ 4.0 IDE. The
- problem has been reported to Borland and they're working on it.
-
- Until a patch is released you will have to use a work around.
- Since a DLL is only loaded into memory once, its WEP function
- is only called when it's unloaded. If SFX200.DLL is loaded into
- memory before compiling and running a program the system
- resource leakage doesn't occur.
-
- You should make sure that SFX200.DLL is loaded into memory
- before compiling and running programs from your BC++ 4.02 IDE.
- Two small programs, LOADSFX.EXE and ULOADSFX.EXE will do this
- for you and can be found in your base\lib\sfx subdirectory.
- LoadSFX loads SFX200.DLL into memory and ULoadSFX unloads it.
- You can either add LoadSFX to you WIN.INI load/run line or your
- Program Manager startup group, or you can add it to your IDE's
- tools menu so you can load and unload SFX200.DLL as required.
-
-
-
- -----------------
- 6. DOCUMENTATION.
- -----------------
-
- ObjectMate 2.6 is documented in two files: SFX200.HLP and
- SFX200.TXT. SFX200.HLP is the on-line Windows help file and
- SFX200.TXT is a printable reference guide. These files are not
- the same.
-
- SFX200.HLP provides you with general information about
- ObjectMate 2.6 including its Resource Workshop interface, the
- ObjectWindows SFX class library and SFX200.DLL. SFX200.TXT
- discusses each SFX object in detail including its corresponding
- ObjectWindows TSFX class and any helpful hints.
-
-
-
- -----------------------
- 7. SAMPLE APPLICATIONS.
- -----------------------
-
- ObjectMate 2.6 includes 8 new sample applications that show you
- how to use most of the custom controls, dialogs and windows in
- SFX200.DLL. The most notable are the object viewer and the
- installation program.
-
- The object viewer displays all the custom controls, dialogs,
- common dialogs, message boxes and input boxes in SFX200.DLL. To
- use the object viewer you will need to compile its source code
- in your examples' SFXVIEW subdirectory.
-
- The ObjectMate installation program is provided as a sample
- application. Its source code can be found in your examples'
- INSTALL subdirectory. It's the actual source code so if you
- compile and run it without modification it will try to install
- ObjectMate 2.6. To test the source code I suggest you install
- the ObjectMate program files into dummy base directories.
-
- The other sample applications show you how to set up an SFX
- toolbar/status bar with flyover hints in a MDI window and a non
- MDI window, how to set up a notebook style SFX multiple dialog,
- how to add 3D menus to your application and how to set up basic
- SFX dialogs, windows and MDI windows. Only registered users
- are free to use, modify, reproduce and distribute the sample
- applications or any modified version in any way they find
- useful.
-
-
-
- ---------------------------
- 8. OBJECTMATE IS SHAREWARE.
- ---------------------------
-
- ObjectMate 2.6 is distributed as uncrippled nag-screen free
- shareware. You can use ObjectMate for an evaluation period of 30
- days free of charge. During this period you can use any of the
- ObjectMate files in your application development but you are
- not permitted distribute any applications with the dynamic link
- library SFX200.DLL.
-
- Registering ObjectMate 2.6 entitles you to develop and distribute
- any number of applications with SFX200.DLL. When you register
- this program you are supporting the shareware principle and
- fellow programmers, and your encouraging ObjectMate's continued
- development.
-
-
-
- -------------------
- 9. ACKNOWLEDGMENTS.
- -------------------
-
- It would not have been possible to develop, refine and extend
- ObjectMate 2.6 without the help of two relentless programmers
- in search of the perfect byte. They are:
-
- 1. William Miller
- Adirondack software & Graphics
- 524 Rock Avenue Chestertown, NY.
- CIS [70530,2166]
-
- 2. Bill Ebina
- Custom Software Solutions
- 43422 West Oaks Dr., #205
- CIS [72440,1141]
-
- Thanks guys!
-
-
-
- I hope your pleased with ObjectMate 2.6 and enjoy using it.
- All the best,
-
- Jeff Franks.
- Microworks.
-
- ====================== End of README.TXT ======================
-
-
-
-