Menubar button control library(MENUBAR.DLL) Users manual Release 1.00 February 1, 1992 Copyright (c) 1992 by MRL 1200 Stonehurst Huntsville, Alabama 35801 All Rights Reserved This file provides the information needed by a Windows developer to utilize the menubar.dll library. Menubar.dll is a copyrighted product of MRL and all rights are reserved. Any and all usage must be in accordance with terms discussed in section III or this documentation. No usage other than for evaluation is permitted without registration. User feedback including comments/questions are welcome. Please address your comments to MRL via Compuserve ID [73637,737] or via mail to 1200 Stonehurst, Huntsville, AL., 35801. Restrictions and Warranties The software described herein is furnished under a license agreement. The software may be used or copied only in accordance with the terms of the applicable agreement. The purchaser may make one copy of the software for backup purposes. Unregistered copies of menubar.dll are for evaluation purposes only, and may be distributed through normal shareware channels. Please distribute these evaluation copies to other bulletin boards and users. Menubar.dll may be uploaded to and downloaded from commercial systems such as CompuServe, the Source, and BIX, as long as there is no charge for the product itself. Those copying, sharing, and/or electronically transmitting this product are required not to delete or modify the copyright notice and restrictive notices from the program or documentation. Any distribution of menubar.dll must include all files contained in the packed format. Commercial vendors and distributors of "public domain" or user-supported software libraries may distribute copies of menubar.dll unless notified by MRL to cease distribution of the product. Only nominal fees associated with copying and handling (not to exceed $5 US) may be charged by anyone providing unregistered copies. Menubar.dll may not be utilized or distributed as a promotion for any commercial venture. Information in this document is subject to change without notice and does not represent a commitment on the part of either MRL. To use menubar.dll, you need the following: IBM PC (or compatible)-286 with 1 Mbyte. Microsoft Windows (version 3.0 or later) MS-DOS/PC-DOS (version 3.0 or a later version required by your version of Microsoft Windows) Windows SDK or other development environment. Use of this product for any period of time constitutes your acceptance of this agreement and subjects you to its contents. EXCEPT AS PROVIDED IN PART IV OF THIS MANUAL, MRL DISCLAIMS ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, WITH RESPECT TO THE PRODUCT. SHOULD THE PROGRAM PROVE DEFECTIVE, THE PURCHASER ASSUMES THE RISK OF PAYING THE ENTIRE COST OF ALL NECESSARY SERVICING, REPAIR, OR CORRECTION AND ANY INCIDENTAL OR CONSEQUENTIAL DAMAGES. IN NO EVENT WILL MRL BE LIABLE FOR ANY DAMAGES WHATSOEVER (INCLUDING WITHOUT LIMITATION DAMAGES FOR LOSS OF BUSINESS PROFITS, BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION AND THE LIKE) ARISING OUT OF THE USE OR THE INABILITY TO USE THIS PRODUCT. Table of Contents I. Concepts .................................................4 II. Specification of Options.................................5 IV. Registration and License Fees...........................10 I. CONCEPT Menubar.dll provides a custom control that may be utilized with any MS Windows development environment that has a resource compiler. It allows the developer capabilities to easily define toolbar controls within a dialogue box and execute predefined commands upon clicking of a portion of the toolbar. Any menubar may contain multiple bitmap resources that independently control individual commands. The menubar may be combined as part of a dialogue to create sets of commands, combo boxes, list boxes, etc. Multiple menubars may be included within a dialogue. Each menubar may extend either horizontally or vertically and have multiple rows (or columns) of bitmap commands. I.II. Specification of Options This section describes how the developer specifies the menubar capabilities for different methods of creating the resource script commands. Three options for specification are discussed including a text script,the Microsoft Dialogue editor, and the Whitewater Resource Toolkit. The messages a user may send from his program are discussed in section 4.0. In addition, the IMPORT section of the .DEF must contain an import for menubarWndFn. See test.def for examples of all features. 1.0 Text Script Definition The developer may specify a menubar.dll control by including it in the resource text script that is processed by the resource compiler. This is the most efficient way to make minor changes that do not require spacing of dialogue fields. It may be the only way to specify the focus option. To include a menubar.dll button, add a field with the class "menubar", include the menudefs.h file in the resource script and specify the text information and control style option as described in this section. 1.1 Text Specification The user may describe the set of bitmaps and commands as the text string associated with the control. The format of the string is: {text,}N1,N2,XXX{:YYY},{XXX{:YYY}} where N1 is the number of bitmaps columns N2 is the number of bitmaps rows XXX is the name of a bitmap resource within the users resource file YYY is the number of a user command to be executed when bitmap area is selected The fields within brackets are optional. The user should specify a text literal to be displayed if he selects the WS_CAPTION style option. 1.2 Style Specification The menubar control has one unique style attribute. The BM_FOCUS attribute allows the user to specify that a menubar control is a selection of one of the bitmaps (similar to the WS_GROUP options for RADIO buttons. This will result in the bitmap being highlighted when selected and remaining highlighted until another bitmap within the menubar is selected. Default mode is not to highlight bitmaps when selected. 2.0 Microsoft Dialogue Editor A dialogue is provided for using the microsoft dialogue editor. The menubar.dll must be installed as a custom control by the ADD CUSTOM CONTROL menu option. The user can specify all of the options via this dialogue except for focus. The menubar output from the dialogue editor does not specify focus option. To select the focus option, edit the output file using any text editor and specify the BM_FOCUS style. Note that user resource bitmaps and commands are specified following the button text separated by a comma. These are not displayed within the dialogue editor since the resource file is not available. 3.0 Whitewater Resource Toolkit (WRT) The WRT contains a single predefined dialogue of custom controls. To use it, you must specify the class name , text description as you would in a text file (see section 1.0). The limitation on text length may make if more desireable to enter the actual bitmap names and commands after creation of the text file via text editor. 4.0 User Command Messages The user program may issue two commands to menubar.dll vis the send message function. These and associated functions are: MB_FOCUSMSG This message sets the focus option for the menubar. A value of TRUE (non-zero) for wParam means the menubar will display a focus rectangle around the selected bitmap. This is desireable when the menubar commands are parameters set by the program that remain in effect. A FALSE (or zero) value does not display focus rectangles. This is the default. The lParam field is not used. MS_SETITEM This message allows the user program to dynamically change the menubar item bitmap and command. The user is responsible for loading the bitmap. The wParam parameter identifies the bitmap number (0-n). The low word of the lParam parameter specified the bitmap handle, while the high word specifies the command. III. REGISTRATION AND LICENSE FEES Menubar.dll must be registered if utilized for other than evaluation purposes for a period not to exceed sixty (30) days. A separate copy is required for each PC utilized for user program development. Multiple copies may be distributed with user programs at a single site. Multiple site distribution requires purchase of copies for each site or a commercial distribution license. The file menubar.frm provides a sample form to be printed and included with payment or send your name, company, and address to MRL, 1200 Stonehurst Drive, Huntsville, Al, 35801. 1. Registration Costs Current rates for prepaid orders (in US dollars) are as follows: $20.00 Single user registration/license fee $50.00 Commercial Distribution license (Up to 200 Copies)(see below) $250.00 Commercial Distribution license (Over 200 Copies)(see below) $300.00 Source code (may not be distributed) Commercial Distribution is limited in the following manner: - It must be part of a user developed product. - It may be utilized for toolbars within that product. - The product must not include capabilities for user generation of dynamically definable toolbars. - The name of the dll must be changed. For commercial distribution rights in the above cases please contact MRL. Residents of Alabama and Huntsville must add appropriate Sales Tax. The scheduled rates and charges are current as of the date of this manual. All fees and charges are subject to change without notice. Multiple Purchase registrations are available pursuant to the following schedules. Total Copies Registered (on one order) Percent Discount ------------ ------------ 1 to 5 0% 6 to 10 15% 10 to 99 40% 100 to 499 50% 500 to 999 60% 1000 or more 70% As stated herein, there are no warranties whatsoever associated with the menubar.dll software product, and we are not responsible for its performance. You are the sole judge of the product's effectiveness and suitability for your particular purposes, and are given an opportunity to pre-evaluate same via shareware distribution. We can only accept drafts, checks, international money orders or travelers checks payable in U. S. dollars drawn on U.S. banks. Registration can also be paid by credit card, Visa or Master Card. Registered users will be notified when updates and new products are available. Anyone wishing to offer advice and suggestions are most welcome to do so. Questions, errors, and suggestions for product improvements are welcome, either mail these to MRL, 1200 Stonehurst Drive, Huntsville, AL, 35801 or transmit them via CIS to ID 73637,737. CIS is the quickest method of receiving response. Be sure to include: - The version of the copy of menubar.dll that you are using. - DOS and Windows versions that you are using; - hardware configuration (model, memory size, printer, etc.) - Windows or standard DOS applications that you may be running or have loaded under Windows at the same time.