home *** CD-ROM | disk | FTP | other *** search
Text File | 1993-01-20 | 42.6 KB | 1,050 lines |
-
- Credits
- ──────────────────────────────────────────────────────────────────────
-
- ClickBar, ClickDlg, and WynBtn were written by Dave Campbell.
-
- The ClickBar toolkit was developed using the Borland C++ 3.0 Windows
- Development package.
-
-
- Copyright Notice
- ──────────────────────────────────────────────────────────────────────
-
- Clickbar, ClickDlg, and WynBtn are Copyright 1992 by WynApse Software.
- All rights are reserved.
-
- This document is Copyright 1992 by WynApse Software.
- All rights are reserved.
-
-
- Trademarks
- ──────────────────────────────────────────────────────────────────────
-
- Clickbar, ClickDlg, and WynBtn are trademarks of WynApse Software.
-
- All trademarks and registered trademarks referenced within this
- document are the property of their respective holders.
-
-
- Warranty Disclaimer
- ──────────────────────────────────────────────────────────────────────
-
- WYNAPSE SOFTWARE MAKES NO WARRANTY OF ANY KIND, EXPRESSED OR IMPLIED,
- INCLUDING WITHOUT LIMITATION ANY WARRANTIES OF MERCHANTABILITY AND/OR
- FITNESS FOR A PARTICULAR PURPOSE.
-
- WYNAPSE SOFTWARE DOES NOT ASSUME ANY LIABILITY FOR THE USE OF THIS
- SOFTWARE BEYOND THE ORIGINAL PURCHASE PRICE OF THIS SOFTWARE.
-
- IN NO EVENT WILL WYNAPSE SOFTWARE BE LIABLE TO YOU FOR ANY ADDITIONAL
- DAMAGES, INCLUDING ANY LOST PROFITS, LOST SAVINGS, OR OTHER INCIDENTAL
- OR CONSEQUENTIAL DAMAGES ARISING FROM THE USE OF, OR INABILITY TO USE,
- THIS SOFTWARE AND ITS ACCOMPANYING DOCUMENTATION, EVEN IF WYNAPSE
- SOFTWARE, OR ANY AGENT OF WYNAPSE SOFTWARE HAS BEEN ADVISED OF THE
- POSSIBILITY OF SUCH DAMAGES.
-
-
- Table of Contents
- ──────────────────────────────────────────────────────────────────────
-
- Installation. . . . . . . . . . . . . . . . . . . . . . . . . . . 1
- Extracting Files. . . . . . . . . . . . . . . . . . . . . . . . 1
- Installing Files into Windows . . . . . . . . . . . . . . . . . 1
-
- Version 1.0 . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
- Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 2
- ClickBar.DLL . . . . . . . . . . . . . . . . . . . . . . . . . 2
- ClickDlg.DLL . . . . . . . . . . . . . . . . . . . . . . . . . 2
- TestClik.EXE . . . . . . . . . . . . . . . . . . . . . . . . . 2
- ClikTest.EXE . . . . . . . . . . . . . . . . . . . . . . . . . 2
- Included Files . . . . . . . . . . . . . . . . . . . . . . . . 3
-
- Accessing ClickDlg. . . . . . . . . . . . . . . . . . . . . . . . 4
- Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 4
- .C Program Header. . . . . . . . . . . . . . . . . . . . . . . 4
- .C Program WinMain . . . . . . . . . . . . . . . . . . . . . . 5
- Loading DLLs. . . . . . . . . . . . . . . . . . . . . . . . 5
- Far Procedure Address Assignment. . . . . . . . . . . . . . 6
- DLL End User Registration . . . . . . . . . . . . . . . . . 7
- ClickDlg Setup call . . . . . . . . . . . . . . . . . . . . 8
- ClickDlg Execution. . . . . . . . . . . . . . . . . . . . . 8
- Freeing DLLs. . . . . . . . . . . . . . . . . . . . . . . . 8
- .C Program WndProc . . . . . . . . . . . . . . . . . . . . . . 8
- WM_SIZE and WM_MOVE . . . . . . . . . . . . . . . . . . . . 8
- WM_COMMAND. . . . . . . . . . . . . . . . . . . . . . . . . 9
- .RC File . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
- .DLG File. . . . . . . . . . . . . . . . . . . . . . . . . . . 10
-
- DLL bitmaps vs. binding bitmaps . . . . . . . . . . . . . . . . . 11
- Button Profiles. . . . . . . . . . . . . . . . . . . . . . . . 11
-
- ClickBar and the Resource Workshop. . . . . . . . . . . . . . . . 12
- Installing ClickBar.DLL. . . . . . . . . . . . . . . . . . . . 12
- Using the custom controls. . . . . . . . . . . . . . . . . . . 12
- Button Types . . . . . . . . . . . . . . . . . . . . . . . . . 13
- Button ID. . . . . . . . . . . . . . . . . . . . . . . . . . . 13
- Background Color . . . . . . . . . . . . . . . . . . . . . . . 13
-
- User Registration . . . . . . . . . . . . . . . . . . . . . . . . 14
- WYNAPSE.INI. . . . . . . . . . . . . . . . . . . . . . . . . . 15
- End User Use . . . . . . . . . . . . . . . . . . . . . . . . . 16
-
- Windows 3.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
-
- Borland C++ . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
-
- Registration. . . . . . . . . . . . . . . . . . . . . . . . . . . 17
-
- ClickBar 1.0 ORDER FORM . . . . . . . . . . . . . . . . . . . . . 18
-
- Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
-
-
- Installation
- ──────────────────────────────────────────────────────────────────────
-
-
- Extracting Files
- ────────────────
-
- Build a "scratch" directory, preferably on a large RAM disk, that will
- be used to temporarily extract the delivered ClickBar files. For
- example,
-
- C> cd \ <return>
- C> md scratch <return>
- C> cd scratch <return>
-
- Copy the ClikBar1.ZIP file from the source diskette to the scratch
- directory:
-
- C> copy <diskette name>:\clikbar1.ZIP <return>
-
- Execute Pkunzip to extract the two main files:
-
- C> PKUNZIP CLIKBAR1 <return>
-
- Read the Read.Me file for any last-minute additions:
-
- C> type read.me|more <return>
-
-
- Installing Files into Windows
- ─────────────────────────────
-
- Start Windows, and from the Program Manager screen, execute
-
- "File" "Run" C:\SCRATCH\SETUP.
-
- Setup will propose a directory in which to install Clickbar. If the
- proposed directory is unacceptable, change it as necessary, and press
- OK. Setup will install ClickBar, and build a screen group named
- WynApse for the TestClik and ClikTest programs. This will also provide
- a convenient group for any test programs constructed using the
- toolbar.
-
- When SETUP is finished, and you next return to DOS, remove all the files
- from the scratch directory, and delete the directory:
-
- C> cd \scratch <return>
- C> del *.* <return>
-
- answer "Y" to the question about deleting all the files, then:
-
- C> cd \ <return>
- C> rd scratch <return>
-
-
- Version 1.0
- ──────────────────────────────────────────────────────────────────────
-
-
- Introduction
- ────────────
-
- This document is the manual for ClickBar and ClickDlg. These two tools
- are built for Microsoft Windows developers to use in producing
- Windows applications with full-featured tool bars.
-
-
- ClickBar.DLL
- ────────────
-
- ClickBar v1.0 is delivered with 144 3-dimensional bitmapped buttons to
- be used in any combination to provide users an exciting toolbar concept
- instead of the standard pull-down menus. 75 of the buttons are "bound
- into" the dynamic link library CLICKBAR.DLL, and the remainder are
- provided as bitmaps for the developer to bind into the application, if
- desired.
-
- See the section entitled "DLL bitmaps vs. binding bitmaps" for
- information and instructions on the available options.
-
-
- ClickDlg.DLL
- ────────────
-
- ClickDlg is the dynamic link library that provides the toolbar
- interface itself to the user's application. A straight-forward,
- 40-line addition to an existing application will provide the user
- with a toolbar interface.
-
-
- TestClik.EXE
- ────────────
-
- ClickBar is delivered with a demonstration, "TestClik.EXE". The
- source code is included for TESTCLIK, and the section entitled
- "Accessing ClickDlg" details the portions of code pertinent to
- the use of ClickBar and ClickDlg.
-
-
- ClikTest.EXE
- ────────────
-
- ClickBar is delivered with "ClikTest.EXE", which is a full-screen
- Windows application displaying all the buttons available from
- ClickBar.DLL, and from the binding of the delivered user-bindable
- buttons.
-
- CLIKTEST provides the developer with a display of the buttons to decide
- which ones to use in a particular application, and also displays the
- ID codes returned to the Windows application upon the button being
- pressed, for ease in program development.
-
-
-
- Included Files
- ──────────────
-
- As released by WynApse SoftWare, ClikBar0.zip contains the following
- files:
-
- Read.Me Last minute notes, and installation
- instructions for those in a hurry.
-
- ClickBar.doc This document
-
- ClickBar.DLL The dynamic link library for the bitmapped
- buttons
-
- ClickBar.H The header file for ClickBar
-
- ClickDlg.DLL The dynamic link library for the toolbar
-
- ClickDlg.H The header file for ClickDlg
-
- ClikTest.EXE Demo of all buttons
- ClikTest.HLP Help file for demo
-
- TestClik.ZIP A complete demonstration of ClickBar:
- TestClik.C Source file
- TestClik.RC Resource file
- TestClik.DLG Dialog file
- TestClik.DEF Link definition file
- TestClik.H Include file
- TestClik.ICO Icon file
- TestClik.MAK Make file
- TestClik.RTF Help source
- TestClik.HLP Compiled Help
- TestClik.HPJ Help project file
- HTestCli.MAK Help Make file
- TestClik.EXE Compiled executable
-
- Bmps.ZIP ZIP-compressed file of 69 bitmapped buttons:
- Bmp.DOC Explanation of source and naming conventions
- bitmaps The bitmaps themselves
-
- Setup.EXE Microsoft Windows Setup program
-
- Setup.INF Setup data file
-
- WynBtn.DLL Three Dynamic Link Libraries necessary for
- BWCC.DLL the executing of Setup and TestClik.
- RWMeter.DLL
-
- Order.Doc Three support documents for registration
- Site.Doc purposes.
- License.Doc
-
-
-
- Accessing ClickDlg
- ──────────────────────────────────────────────────────────────────────
-
-
- Introduction
- ────────────
-
- Modifications to a Windows Application to enable the use of ClickBar
- fall into two major areas: modification of the .C file and modification
- of the .DLG (or .RC) file.
-
- Quickly, the .C file contains the code and hooks to allow the
- Application to set up ClickDlg for the call to display, and then must
- service the ID codes returned in the main Windows Procedure to perform
- the functions related to the individual buttons.
-
- The .DLG (or .RC) file contains the declarations of the locations and
- order of the buttons desired in the application.
-
- All references in the following sections to line numbers will
- correspond to line numbers in TestClik.C, TestClik.RC, or TestClik.DLG
- as delivered from WynApse SoftWare. If the source files have been
- modified, the user accepts the responsibility for those changes.
-
- Explanations of the use of another WynApse product, WynBtn will be
- included in the descriptions. WynBtn is a 3-Dimensional bitmapped
- button DLL with buttons mapping into the standard IDOK, IDQUIT, etc.
- buttons.
-
-
- .C Program Header
- ─────────────────
-
- Line 16 in TestClik.C contains an include necessary to use WynBtn:
-
- #include <wynbtn.h>
-
- The following two includes must be in the main program, and are located
- at lines 17 and 18 in TestClik.C:
-
- #include <clickdlg.h>
- #include <clickbar.h>
-
- The "<" and ">" denote that the ".H" files are located in the 'include'
- subdirectory with other system ".H" files. If the user prefers to have
- the files local to the current compile module, change the lines to
- read:
-
- #include "wynbtn.h"
- #include "clickdlg.h"
- #include "clickbar.h"
-
- Next at line numbers 38 and 39 are two sets of Far Procedure
- declarations:
-
- FARPROC lpfnDisplayDlg, lpfnDlgMove, lpfnDlgPlus;
- FARPROC lpfnWynBtnSetup, lpfnClickBarSetup;
-
- These FARPROC's will be assigned values shortly.
-
-
- .C Program WinMain
- ──────────────────
-
- Line number 66 and 67 in TestClik.C contain the following declarations
- in WinMain:
-
- HANDLE hLibWynBtn, hClickBar, hClickDlg, hBWCCDll;
- FARPROC lpfnDlgSetup;
-
- The first line declares HANDLES for DLLs that will be loaded during
- WinMain. The second line declares a FARPROC pointer for the setup
- procedure contained inside ClickDlg.DLL.
-
- Following that, on lines 68 and 69, are two declarations for using
- global memory:
-
- GLOBALHANDLE MyStructHandle;
- FPWYNAPSESTRUCT MyStruct;
-
- FPWYNAPSESTRUCT is a structure defined in CLICKBAR.H, and to be used in
- WinMain. MyStruct is a structure of that type, and MyStructHandle will
- contain a global memory handle to that structure.
-
-
- ───────────────────────────────
- .C Program WinMain Loading DLLs
-
- Lines 95 through 129 in TestClik.C contain four identical constructs
- which constitute the loading of four dynamic link libraries:
-
- hLibWynBtn = LoadLibrary("WYNBTN.DLL");
- if (hLibWynBtn < 32)
- {
- FreeLibrary(hLibWynBtn);
- MessageBox(GetFocus(),
- "Dynamic Link Library WYNBTN.DLL must be present",
- szAppName,
- MB_ICONEXCLAMATION | MB_OK);
- return 0;
- }
-
- hClickBar = LoadLibrary("CLICKBAR.DLL");
- if (hClickBar < 32)
- {
- FreeLibrary(hClickBar);
- MessageBox(GetFocus(),
- "Dynamic Link Library CLICKBAR.DLL must be present",
- szAppName,
- MB_ICONEXCLAMATION | MB_OK);
- return 0;
- }
-
-
-
- hClickDlg = LoadLibrary("ClickDlg.DLL");
- if (hClickDlg < 32)
- {
- FreeLibrary(hClickDlg)
- MessageBox(GetFocus(),
- "Dynamic Link Library CLICKDLG.DLL must be present",
- szAppName,
- MB_ICONEXCLAMATION | MB_OK);
- return 0;
- }
-
- hBWCCDll = LoadLibrary("BWCC.DLL");
- if (hBWCCDll < 32)
- {
- FreeLibrary(hBWCCDll);
- MessageBox(GetFocus(),
- "Dynamic Link Library BWCC.DLL must be present",
- szAppName,
- MB_ICONEXCLAMATION | MB_OK);
- return 0;
- }
-
- The four constructs are identical with the exception of the DLL names.
- In all cases, if the handle returned is less than 32, an error occurred,
- and the application is aborted with a MessageBox.
-
- ───────────────────────────────────────────────────
- .C Program WinMain Far Procedure Address Assignment
-
- Lines 131 through 136 in TestClik.C assign Procedure Addresses to the
- FARPROCS declared in the header:
-
- lpfnDlgSetup = GetProcAddress(hClickDlg, "ClickBarDialogSetup");
- lpfnDlgMove = GetProcAddress(hClickDlg, "ClickBarDialogMove");
- lpfnDisplayDlg = GetProcAddress(hClickDlg, "ClickBarDialogProc");
-
- lpfnWynBtnSetup = GetProcAddress(hLibWynBtn, "WynBtnSetup");
- lpfnClickBarSetup = GetProcAddress(hClickBar, "ClickBarSetup");
-
- The first three assign addresses for functions in ClickDlg.DLL, and the
- second set assign addresses for functions contained in ClickBar.DLL.
- The five functions will be explained as they are used later on in this
- document.
-
-
-
- ────────────────────────────────────────────
- .C Program WinMain DLL End User Registration
-
- Lines 138 through 153 is the code necessary for developers to register
- their copy of ClickBar (and WynBtn) with the DLLs, to keep their
- customers from being annoyed by the shareware banner in ClickBar and
- WynBtn:
-
- MyStructHandle = GlobalAlloc(GHND, sizeof(WYNAPSE_STRUCT));
-
- MyStruct = (FPWYNAPSESTRUCT)GlobalLock(MyStructHandle);
- lstrcpy(MyStruct->RegName, (LPSTR)"Your Name"); /* WynBtn RegName */
- MyStruct->RegNumber = 0; /* WynBtn RegNumber */
- GlobalUnlock(MyStructHandle);
-
- (*lpfnWynBtnSetup)(MyStructHandle);
-
- MyStruct = (FPWYNAPSESTRUCT)GlobalLock(MyStructHandle);
- lstrcpy(MyStruct->RegName, (LPSTR)"Your Name"); /* ClickBar RegName */
- MyStruct->RegNumber = 0; /* ClickBar RegNumber */
- GlobalUnlock(MyStructHandle);
-
- (*lpfnClickBarSetup)(MyStructHandle);
-
- GlobalFree(MyStructHandle);
-
- The first line Allocates Global memory for a structure called
- WYNAPSE_STRUCT which is defined in ClickBar.H. Following that is two
- identical constructs, one to be executed for each DLL used. In each
- case, the global memory handle is locked for use, and the structure
- filled with registration information, then unlocked, and the handle
- passed to the setup function of the appropriate DLL.
-
- Please be sure that in the line:
- lstrcpy(MyStruct->RegName, (LPSTR)"Your Name"); /* WynBtn RegName */
-
- or the line:
- lstrcpy(MyStruct->RegName, (LPSTR)"Your Name"); /* ClickBar RegName */
-
- you enter YOUR registered name between the quotes exactly as it appears
- on your registration paper, or diskette. Include blank spaces and
- include upper- and lower-case as necessary.
-
- The two lines:
- MyStruct->RegNumber = 0; /* WynBtn RegNumber */
- MyStruct->RegNumber = 0; /* ClickBar RegNumber */
-
- must contain YOUR registration number(s) as returned on your
- registration paper or diskette.
-
- When one or both setup calls are finished the global memory is freed by
- the GlobalFree call.
-
-
-
- ──────────────────────────────────────
- .C Program WinMain ClickDlg Setup call
-
- Line 180 contains the Setup call to ClickDlg to pass YOUR application's
- window handle, and allow ClickDlg to perform its internal setups:
-
- (*lpfnDlgSetup)(hWndMain);
-
-
- ─────────────────────────────────────
- .C Program WinMain ClickDlg Execution
-
- Line 182 contains the line:
-
- hWndDlg = CreateDialog(hInst,
- "CLICK",
- hWndMain,
- MakeProcInstance((*lpfnDisplayDlg), hInst));
-
- hInst is the instance handle of this copy of your Application. "CLICK"
- is the name of the toolbar as designed in <>.RC or <>.DLG.
-
- Your application now has a full-function toolbar located just below the
- title bar, or just below the menu, if there is a menu. Version 1.0 of
- ClickBar provides a toolbar that moves and sizes with your window, but
- is static in its relative location to your window. v2.0 of ClickBar
- will allow static and dynamic placement of the toolbar.
-
-
- ───────────────────────────────
- .C Program WinMain Freeing DLLs
-
- Starting on line 215 is the code to free the DLLs after use:
-
- FreeLibrary(hLibWynBtn);
- FreeLibrary(hClickBar);
- FreeLibrary(hClickDlg);
- FreeLibrary(hBWCCDll);
-
-
- .C Program WndProc
- ──────────────────────────────────────────────────────────────────────
-
- The WndProc is where the majority of the run-time work is done by an
- application. That is also where the work is done for the toolbar.
-
-
- ──────────────────────────────────────
- .C Program WndProc WM_SIZE and WM_MOVE
-
- In addition to any sizing and moving done by your application, WndProc
- must make the following calls to ClickDlg during a WM_SIZE or WM_MOVE
- command:
-
- case WM_SIZE :
- case WM_MOVE :
- (*lpfnDlgMove)();
- break;
-
- Found on lines 320 through 323 in TestClik, these are the only WM_SIZE
- and WM_MOVE commands that are handled by TestClik.
-
-
-
- ─────────────────────────────
- .C Program WndProc WM_COMMAND
-
- Starting on line 340 in TestClik.C are lines of the type:
-
- case IDXLARROW :
-
- There must be a case for each ClickBar.DLL button used in the dialog.
- ClickDlg.DLL will send WM_COMMAND messages back to your application,
- one message for each button press.
-
- If a combo box is inserted in the toolbar, the box can be written to
- and polled as is any other combo box. No WM_COMMAND message is sent
- back to the application for a combo box change.
-
-
- .RC File
- ──────────────────────────────────────────────────────────────────────
-
- Line 16 of TestClik.RC shows the inclusion of the ".H" file as
- discussed in the section entitled ".C Program Header":
-
- #include <clickbar.h>
-
- At this point, some personal preference may come into play. We here at
- WynApse SoftWare prefer to keep the dialog code separate from the
- resource file, consequently we normally have both a ".RC" file and a
- ".DLG" file, in the manner of TestClik. Some programmers prefer to
- have the dialog information contained in the ".RC" file, in which case
- the discussion about ".DLG" files below would be directed to the ".RC"
- file. This document will refer to both.
-
- .DLG File
- ──────────────────────────────────────────────────────────────────────
-
- Line 9 of TestClik.DLG contains:
-
- CONTROL "", IDOK, "WynButton",
- BS_DEFPUSHBUTTON | WS_OVERLAPPED | WS_TABSTOP,
- 54, 147, 36, 24
-
- This defines the 3D-bitmapped OK button from WynBtn.DLL.
-
- Similarly "testclik", starting on line 17 of TestClik.DLG contains an
- IDOK, IDCANCEL, and IDHELP button from WynBtn.DLL.
-
- Lines 30 through 55 of TestClik.DLG contain the actual toolbar layout.
- The toolbar dialog is defined as Helvetica 8 to get the spacing
- correct.
-
- The "BorShade" control from line 34:
-
- CONTROL "", 101, "BorShade", 1, 0, 0, 373, 16
-
- is from BWCC.DLL from Borland, and is loaded in TestClik.C.
-
-
-
- The remaining lines are all defining the buttons as layed out in
- Microsoft Excel, as an example. Other buttons may be inserted in this
- text file, or the layout rearranged at will. Toolbars may be
- constructed in this manner, however the preferred method is through the
- Resource Workshop, detailed in the section entitled "ClickBar and the
- Resource Workshop".
-
-
- DLL bitmaps vs. binding bitmaps
- ──────────────────────────────────────────────────────────────────────
-
- ClickBar.DLL and ClickDlg.DLL will provide your application with 75
- bitmap pairs. The pairs are arranged such that an unpressed button has
- one look to it and a pressed button actually looks pressed.
-
- If a user wishes to do so, other bitmaps may be "bound in" to the
- application to produce an even more custom look and feel.
-
- CLICKBAR.H contains the text vs. numerical mapping of the buttons. Note
- that each definition has an even number associated with it, for example
-
- #define IDVFASTREV 44
-
- in this case, IDVFASTREV is the ID code for bitmap 44. Bitmap 45 is
- the bitmap displayed for a pressed IDVFASTREV.
-
- What this means to the developer is that to include a custom bitmap, a
- pair of bitmaps must be bound into the application, one for the normal
- button, and one for the pressed button. The syntax is:
-
- 1050 BITMAP <unpressed>.bmp
- 3051 BITMAP <pressed>.bmp
-
- the addition of 1000 and 3000 to the bitmap takes care of the
- translation through ClickBar.DLL.
-
- Note that overlaying pre-existing numbers will cause the ClickBar.DLL
- bitmaps to be overridden. As an example, TestClik overrides each
- bitmap used, to produce a toolbar that exactly matches Excel.
-
- 69 bitmap pairs are included with ClickBar as examples from Microsoft
- Word, Excel, and Borland's Resource Workshop. Any other bitmaps may be
- used with ClickDlg, as long as the "profile" of the button matches the
- existing profiles as detailed in ClickBar.H.
-
-
- Button Profiles
- ───────────────
-
- ClickBar v1.0 contains 3 profiles. These profiles are:
-
- 1) 22x18 16 colors (similar to those in Microsoft Excel, or
- Word for Windows lower row)
-
- 2) 25x22 16 colors (similar to the upper row of Word for Windows)
-
- 3) 24x24 16 colors (similar to those in Resource Workshop)
-
-
-
- Any user-designed button may be bound into the executable and called by
- number from the application, as long as the profile matches one of the
- above. The number may be the same as one of the ID numbers defined in
- ClickBar, or a number beyond those defined, to avoid "losing" a button
- in the heat of debug.
-
- The scheme used to define buttons is as follows. For each button on
- the screen, there is a pair defined in the DLL (or bound in). In each
- case, the even-numbered bitmap is the normal button, as viewed prior to
- being pressed, and the odd companion button is the pressed-in button.
-
- The buttons are declared as explained above in the section entitled
- "DLL bitmaps vs. binding bitmaps".
-
-
- ClickBar and the Resource Workshop
- ──────────────────────────────────────────────────────────────────────
-
- ClickBar.DLL is fully-qualified as a custom control as defined by
- Borland for the Borland Resource Workshop.
-
- Installing ClickBar.DLL
- ───────────────────────
-
- To install ClickBar.DLL as a custom control, first invoke the
- Resource Workshop. Then using the menu selections, get into the
- Dialog Box editor. The menu selections "Options", "Install control
- library" will provide a dialog box into which the user must type the
- path specification of a custom control, in this case "ClickBar.DLL."
- For example, if ClickBar was setup with the default pathspec, then
- ClickBar.DLL is located on the path
-
- C:\WINDOWS\CLICKBAR
-
- The location to type into the custom control box is then
-
- C:\WINDOWS\CLICKBAR\CLICKBAR.DLL
-
- Upon doing this, three custom control buttons appear on the edit
- tool palette, labeled W1, W2 and W3. These three correspond as
- follows:
-
- Profile Wn
- ─────── ──
- 22x18 W1
- 24x24 W2
- 25x22 W3
-
- Using the custom controls
- ─────────────────────────
-
- Selecting one of the new controls is idential to selecting one of
- the standard ones in the workshop. A cursor is provided for placing
- the button on the face of the toolbar. Move the cursor to the
- desired position on the dialog box, and click the left mouse
- button. This will place a null button in the position you
- selected. Double click on the button and a dialog box will appear
- for selecting the button and the 'type' of the button.
-
-
-
- Button Types
- ────────────
-
- The dialog box for the buttons contains radio buttons for 3 defined
- button types. The types are: "click", "push", and "toggle". For
- version 1.0 of ClickBar, only two of the types are enabled: "click",
- and "push".
-
- "Push" buttons change to the pressed-in 3D look when the mouse is
- clicked on the face of the button, and continue to stay pressed in
- until another button is pressed. A good example of this would be
- the play and fast-forward buttons on a tape player. If in play
- mode, and fast-forward is pressed, the play button pops up.
-
- "Click" buttons change to the pressed-in 3D look only when the mouse
- is clicked, and then pop back out. An example of this would be the
- stop button on a tape player. The stop button does not stay pressed
- in, just causes an action to take place.
-
- "Toggle" buttons, when enabled, will cause buttons to stay pressed
- in until another mouse click releases the button.
-
- Button ID
- ─────────
-
- The Button ID identifies the button that is displayed in the
- position. The button IDs can be found in ClickBar.h, or by
- executing the ClikTest.EXE demo. Each button press causes a
- distinct ID code to be sent to the application WndProc.
-
- The control dialog box contains a 'combo box' control which has the
- appearance of an edit box with a down-arrow to the right of it.
- Clicking the arrow will pull down a list box containing the ID codes
- for all the buttons falling in the selected profile. Clicking the
- desired code will bring that ID to the main edit box. Then clicking
- OK will cause that button to be displayed in the dialog. Double
- clicking the ID will select the code, and OK in one stroke.
-
- After the buttons are placed in the dialog, double clicking the
- button will bring up the control dialog to allow the type or ID to
- be altered. To change the profile, the button must be deleted, and
- a new profile selected.
-
- Background Color
- ────────────────
-
- For Borland C++ 2.0 or 3.0 users, the dialog box should be selected
- as class "bordlg", and the Borland shade type used as a background
- for the buttons. Non-Borland users may compile as the example
- TestClik is shown, and the BWCC.DLL Borland dynamic link library is
- bound in at run-time.
-
-
-
-
- User Registration
- ──────────────────────────────────────────────────────────────────────
-
- Registering ClickBar will provide the developer with a Registration
- number that is keyed to the name requested on the registration form.
- The next time ClickBar is accessed after receiving the number from
- WynApse, the user should select "Register" from the Shareware banner
- dialog. Another dialog is presented requesting name and
- registration number. Use the Tab key to proceed from the Name box
- to the Registration Number box, then click OK. This will cause
- ClickBar.DLL to produce a file "WYNAPSE.INI" in the Windows root
- directory.
-
- WYNAPSE.INI
- ───────────
-
- WYNAPSE.INI is a standard ".INI" file as used by most large Windows
- Applications, and has the form:
-
- [WynBtn]
- RegName=David Campbell
- RegNumber=123
-
- [ClickBar]
- RegName=David Campbell
- RegNumber=456
-
- The .INI file is produced only when a valid name and number is
- entered in the registration box. Building a WYNAPSE.INI file
- off-line and entering a non-registered name and number will produce
- the shareware dialog box because the two do not match.
-
- The only acceptable time to build am .INI file off-line is when an
- application developer has registered ClickBar (or WynButton), and
- has an application to deliver to an end user. In this case, the
- developer does not want the end-user to be annoyed by the WynApse
- shareware banner. This is where the End User Registration technique
- discussed in the section entitled "DLL End User Registration" is
- used. An application developer would build a WYNAPSE.INI file
- delivered with the application that is as follows:
-
- [WynBtn]
- RegName=EndUserLicense
- RegNumber=n
-
- [ClickBar]
- RegName=EndUserLicense
- RegNumber=n
-
- the 'n' above can be any number, because "RegName" is the only value
- read. For this to work, the developer must code his/her
- registration into the source code of the application as explained in
- the section entitled "DLL End User Registration".
-
-
-
- End User Use
- ────────────
-
- The technique of using the .INI file to control the registration
- message causes the shareware dialog to reappear if the end user
- attempts to use the DLL outside the scope of the application with
- which it was delivered. Because of this, the developer should
- mention the use of the WYNAPSE.INI file in the application manual.
- If this file is deleted, the shareware registration dialog will
- appear, and the end-user may be confused or annoyed by this. One
- consideration may be to write the file to the hard disk as
- read-only.
-
- To discuss concerns or other considerations in this area, please
- contact WynApse SoftWare either by voice, or electronic mail.
-
-
- Windows 3.1
- ──────────────────────────────────────────────────────────────────────
-
- ClickBar, and WynButton are both Windows 3.0 and Windows 3.1
- compatible. Windows 3.1 is the preferred way to go with the speed
- and Free System Resources considerations.
-
-
- Borland C++
- ──────────────────────────────────────────────────────────────────────
-
- ClickBar, and WynButton are both compatible with Borland C++ version
- 2.0 and Borland C++ 3.0. When the update becomes available for
- Borland C++ for Windows 3.1, compliance with the new compiler will
- be attained.
-
-
-
-
- Registration
- ──────────────────────────────────────────────────────────────────────
-
- Thank you for taking the time to evaluate ClickBar!
-
- ClickBar is provided at no charge for evaluation purposes only. This
- shareware version of ClickBar is the complete working version of the
- program, not a crippled or demo copy.
-
- WynApse SoftWare hereby grants you a limited license to use this
- software for evaluation purposes only for a period not to exceed thirty
- (30) days. If you intend to continue using this software (and/or its
- documentation) after the thirty (30) day evaluation period, you MUST
- make a registration payment to WynApse SoftWare. Using this software
- after the evaluation period has ended without registering is a
- violation of the terms of this limited license.
-
- Please refer to ORDER.DOC, SITE.DOC, & LICENSE.DOC for quantity
- discounts, site-license information, and separate order blank.
-
- You may register ClickBar using the accompanying order form.
-
- The $35.00 registration fee licenses one copy of the software for use
- on one computer. Additional sites, or additional computers on a local
- area network, must be licensed separately. Alternatively, site
- licenses are available; for additional information, please call
- 1-602-863-0411.
-
- As a registered user, you will receive:
-
- o The full retail package, including printed manual.
-
- o The most current version of the ClickBar program. We are always
- improving our products, and registration ensures that you have the
- latest version.
-
- o Free technical support.
-
- o Notification of significant upgrades to ClickBar, and upgrade to
- the next significant version at a reduced rate.
-
- o Special offers on other products from WynApse SoftWare.
-
-
- Please feel free to contact us if you have any questions, comments, or
- suggestions or require additional information. Thank you!
-
- WynApse SoftWare Orders: 1-602-863-0411
- P.O. Box 86247 Information: 1-602-863-0411
- Phoenix, AZ 85080-6247 CompuServe: [72251, 445]
- U.S.A.
-
-
-
- ClickBar 1.0 ORDER FORM
-
- Remit to: WynApse SoftWare Orders: 1-602-863-0411
- P.O. Box 86247 Information: 1-602-863-0411
- Phoenix, AZ 85080-6247 CompuServe: [72251, 445]
- U.S.A.
-
- ClickBar Qty ____ @ $35.00 $_________
-
- AZ residents add 6.7% sales tax. $_________
-
- Inside U.S. & Canada add $1.00 shipping per Product. $_________
-
- Outside U.S. & Canada add $3.00 shipping per Product. $_________
-
-
- Total $_________
-
- Payment by: Check (U.S. funds only, drawn on a U.S. bank)
-
- Name: _____________________________________ Title: _______________
-
- Company: _____________________________________________________________
-
- Address: _____________________________________________________________
-
- _____________________________________________________________
-
- _____________________________________________________________
-
- Day Phone: ________________________ Evening: ________________________
-
- Disk format: ( ) 5.25" ( ) 3.5"
-
- Where did you get your copy of ClickBar? _____________________________
-
- Printed Name for Registration number__________________________________
-
-
- Index
- ──────────────────────────────────────────────────────────────────────
-
- .C Header . . . . . . . . . . 4 - E -
- .C WinMain. . . . . . . . . . 5 End User Registration . . . . 7
- .DLG. . . . . . . . . . . . . 4 End User Use. . . . . . . . . 15
- .DLG File . . . . . . . . . . 10 EndUserLicense. . . . . . . . 14
- .INI. . . . . . . . . . . 14, 15 Evaluation. . . . . . . . . . 16
- .RC . . . . . . . . . . . . . 4 Extracting Files. . . . . . . 1
- .RC file . . . . . . . . . . 10
- 22x18 . . . . . . . . . . . . 11 - F -
- 24x24 . . . . . . . . . . . . 11 Far Procedure . . . . . . . . 6
- 25x22 . . . . . . . . . . . . 11 FARPROC . . . . . . . . . . . 4
- FPWYNAPSESTRUCT . . . . . . . 5
- - A - Free System Resources . . . . 15
- Accessing ClickDlg . . . . . 4 Freeing DLLs. . . . . . . . . 8
- FreeLibrary . . . . . . . . . 8
- - B -
- Background Color. . . . . . . 13 - G -
- Binding Bitmaps . . . . . . . 11 GetProcAddress. . . . . . . . 6
- Bitmap pairs. . . . . . . . . 11 GlobalFree. . . . . . . . . . 7
- Bordlg. . . . . . . . . . . . 13
- Borland C++ . . . . . . . 13, 15 - H -
- Borland shade . . . . . . . . 13 Helvetica . . . . . . . . . . 10
- BorShade. . . . . . . . . . . 10
- Bound in. . . . . . . . . . . 12 - I -
- Button ID . . . . . . . . . . 13 ID Codes. . . . . . . . . . . 2
- Button Profiles . . . . . . . 11 Included Files. . . . . . . . 3
- Button Types . . . . . . . . 13 Installation. . . . . . . . . 1
- BWCC.DLL . . . . . . . 6, 10, 13 Installing. . . . . . . . . . 1
-
- - C - - L -
- Click . . . . . . . . . . . . 13 Loading DLLs. . . . . . . . . 5
- ClickBar. . . . . . . 14, 15, 16 LoadLibrary . . . . . . . . . 6
- ClickBar.DLL . . . . 2, 5, 12, 14 LpfnDlgMove . . . . . . . . . 8
- ClickBar.H . .4, 5, 7, 10, 11, 13
- ClickBarDialogMove. . . . . . 6 - O -
- ClickBarDialogProc. . . . . . 6 Order blank . . . . . . . . . 16
- ClickBarDialogSetup . . . . . 6 Order Form. . . . . . . . . . 17
- ClickBarSetup . . . . . . . . 6 Overlaying bitmaps. . . . . . 11
- ClickDlg Execution . . . . . 8
- ClickDlg Setup . . . . . . . 8 - P -
- ClickDlg.DLL. . . . . . . . 2, 6 Push. . . . . . . . . . . . . 13
- ClickDlg.H. . . . . . . . . . 4
- ClikBar0.ZIP. . . . . . . . . 3 - R -
- ClikTest.EXE. . . . . . . . 2, 13 Register. . . . . . . . . . . 7
- Combo box . . . . . . . . . 9, 13 Registering . . . . . . . . . 14
- CONTROL . . . . . . . . . . . 10 Registration. . . . . . . . . 16
- Control dialog. . . . . . . . 13 Registration Number . . . . . 17
- CreateDialog. . . . . . . . . 8 RegName . . . . . . . . . 7, 14
- Custom bitmap . . . . . . . . 11 RegNumber . . . . . . . . 7, 14
- Custom Control. . . . . . . . 12 Resource Workshop . . . . 11, 12
- Screen group. . . . . . . . . 1
- - D -
- Discounts . . . . . . . . . . 16 - S -
- DLL bitmaps . . . . . . . . . 11 Setup . . . . . . . . . . . . 1
- Site licenses . . . . . . . . 16
-
-
-
- - T - - W -
- TestClik.C. . . . . . . . . . 10 Windows . . . . . . . . . . . 1
- TestClik.DLG. . . . . . . . . 10 Windows 3.0 . . . . . . . . . 15
- TestClik.EXE . . . . . . . . 2 Windows 3.1 . . . . . . . . . 15
- TestClik.RC . . . . . . . . . 10 WM_COMMAND. . . . . . . . . . 9
- Toggle. . . . . . . . . . . . 13 WM_MOVE . . . . . . . . . . . 8
- WM_SIZE . . . . . . . . . . . 8
- - U - WndProc . . . . . . . . . . 8, 9
- User Registration . . . . . . 14 WYNAPSE.INI . . . . . . . 14, 15
- WYNAPSE_STRUCT. . . . . . . . 7
- - V - WynBtn. . . . . . . . . . .4, 14
- Version 1.0 . . . . . . 2, 8, 17 WynBtn.H. . . . . . . . . . . 4
- WynBtnSetup . . . . . . . . . 6
- WynButton . . . . . . . . 10, 15
-
- - Y -
- Your Name . . . . . . . . . . 7
- Your Registration . . . . . . 7
-