Dec 212017
VBX for Visual Basic. Includes commonly used buttons for files, fonts and help.
File TOOL20.ZIP from The Programmer’s Corner in
Category BASIC Language
VBX for Visual Basic. Includes commonly used buttons for files, fonts and help.
File Name File Size Zip Size Zip Type
ATTRIBS.BMP 478 118 deflated
README.TXT 9069 3265 deflated
TOOLBUTN.HLP 27620 14773 deflated
TOOLBUTN.VBX 43008 10588 deflated
TOOLCONS.TXT 1060 340 deflated
TOOLDEMO.BAS 1554 578 deflated
TOOLDEMO.FRM 17542 3767 deflated
TOOLDEMO.FRX 1252 219 deflated
TOOLDEMO.MAK 159 127 deflated
TPCREAD.ME 199 165 deflated

Download File TOOL20.ZIP Here

Contents of the README.TXT file

README.TXT for ToolButton 2.0
December 2, 1992

* Users of ToolButton 1.0 or 1.1 must follow these steps to use Version 2.0:
*. Load your project(s) into VB 2.0
*. Save all forms with ContextHelp controls as Text
*. Save the project
*. Quit VB
*. Manually edit your .MAK file(s) to change the name of the custom
* The ContextHelp control had an unavoidable change which is not binary
* compatible with the previous version. If you do not save your forms
* with ContextHelp controls as Text, you will get an "Invalid file format"
* message when you attempt to load the project.
* ToolButton 2.0 is *NOT* compatible with VB 1.0.

What is ToolButton?
ToolButton is a custom control for Visual Basic that supports
command and attribute buttons in toolbars. You can use the
standard button images supplied, and/or you can "roll your own". A
second custom control, ContextHelp, is bundled with ToolButton to
facilitate implementation of "point and click" style
context-sensitive help.

Standard button images are supplied for Edit Cut, Edit Copy, Edit
Paste, File New, File Open, File Save, File Print, Help, and
Context Sensitive Help.

ToolButton can generate six different button faces from one
supplied bitmap. A command button uses three (Up, Mouse Down, and
Disabled), while an attribute button uses six (former plus Down,
Down Disabled, and Indeterminate). All you have to do is supply
the "Up" bitmap, and ToolButton takes care of the rest.

Another nifty feature of ToolButton is the fact that it generates
MouseDown and MouseUp events, so you can put a help message in a
status bar when the user presses a button. These events are
generated even when the button is disabled.

Microsoft Word for Windows 2.0 was used as a model for the behavior
of ToolButton and ContextHelp. Command buttons behave like Word
toolbar buttons, attribute buttons behave like Word ribbon buttons,
and context-sensitive help behaves in a similar fashion to Shift+F1
in Word.

ToolButton uses the "Buttons & Cursors" (v1.01) code from
Microsoft. This code is currently downloadable as BTNCR2.ZIP from
the WINSDK forum. I do not use the DLL version of this code
because source changes were required to make it compatible with
Windows 3.0.

As mentioned above, ToolButton is compatible with Windows 3.0.
However, the Help Reference requires WinHelp 3.1.

ToolButton is Freeware. You can freely distribute it with your
applications. However, if you distribute source for your
applications, please include an unmodified TOOLBT.ZIP and/or its
component files.

ToolButton Demo
If you would like to see a demonstration of some of ToolButton's
capabilities, load the TOOLDEMO project into Visual Basic. See
"ToolButton Help Reference" below for instructions on how to view
the Help Reference.

TOOLDEMO is a just a dumb Notepad clone. However, it does
demonstrate most of the cool features of ToolButton. Among the
supported features it does *not* demonstrate are:

. Non-standard sized buttons
. Indeterminate attribute button state
. Colorful buttons

ToolButton Help Reference
A complete help reference is provided for ToolButton. You can
access it by double-clicking with the right mouse button on a
ToolButton or ContextHelp control in design mode, by pressing the
help button in TOOLDEMO, or by starting WinHelp manually.

For all standard VB properties, events, and methods, ToolButton
help is linked to the standard VB help file. For this to work,
VB.HLP has to be somewhere on your PATH.

The ContextHelp control passes the HelpContextID of the control
which the user wants help on. However, if that control doesn't
have a HelpContextID property, or its HelpContextID is 0,
ContextHelp attempts to use its container, then its container's
container, etc. This is similar to the logic used by VB when you
press F1 in your application. You can use this to your advantage
if you have a group of controls which all use the same section of
the help file. For example, if you have a frame containing a bunch
of option buttons, you can assign the HelpContextID of the frame,
and leave the HelpContextID of the option buttons empty. If the
user clicks the frame itself or any of the option buttons, the
result will be the same.

If you want to display a help message in a status bar for each
ToolButton, put the message in the HintMessage property at design
time. Print the help message in the MouseDown event, and clear it
in the MouseUp event. If you have to worry about multiple
languages, load the message at runtime.

Use a control array for all the ToolButtons on a particular toolbar.
This will save you a lot of code. Toolbar buttons are supposed to
just be shortcuts for menu items, so you can put a Select Case on
the index in the Click event, and call the appropriate menu click

Look at the source code for TOOLDEMO. Some tricks are there which
I haven't described above, like sizing and positioning all the
controls based on the display device and the Visual Design Guide;
and interfacing with WinHelp.

Known problems and limitations
No MouseDown or MouseUp events are generated for the middle or
right mouse buttons. This is because I didn't want Click to be
generated for these buttons. I may fix this later by adding a
parameter to the Click and DblClick functions which lets you know
which button was pressed (the standard event functions don't tell
you this).

A few of the links from ToolButton help to VB help aren't quite
right. For example, if you click on Index, you don't get the Index
reference page in VB help. The reason for this is that I am using
a simple JumpKeyword macro, and it just goes to the first topic
containing that keyword (in this case, ListIndex).

Version History

. Takes advantage of new VB 2.0 features
. New HelpContextID property for both controls
. ToolButton is now a "graphical" control, to reduce resource
. ToolButton has new HintMessage property
. ToolButton converts button colors to user preference, based
on Control Panel settings (see Preserve property)
. Contexthelp permits Esc to cancel
. HelpContextID passed instead of Tag in ControlClick event
. ContextHelp now has Index property
. ContextHelp now ignores keystrokes other than Esc, F1
. Bug fix: if multiple applications used Version 1.1 at the
same time, exiting one of them would cause the button faces
on the rest to become blank

. ContextHelp custom control added
. Compatible with Windows 3.0
. Sample bitmap for custom buttons supplied
. MouseDown/MouseUp generated for disabled buttons
. Access help reference with double-click of right mouse
button instead of single click
. (About) property
. Over 900 downloads from CompuServe MSBASIC forum

. First version
. Over 800 downloads from CompuServe MSBASIC forum

ToolButton was created by:

Brett Foster [CompuServe: 70444,135]
Fulcrum Technologies, Inc.

Please send comments and questions via Section 6 (VB/Win 3rd Party)
of the CompuServe MSBASIC forum (preferred), or CompuServe mail.

All feedback is GREATLY appreciated!

Supplied Files
TOOLBT.ZIP contains the following files:

. ATTRIBS.BMP- Sample bitmap of custom button faces used in TOOLDEMO
. README.TXT- This file
. TOOLBUTN.HLP- Help reference for ToolButton
. TOOLBUTN.VBX- The ToolButton custom controls
. TOOLCONS.TXT- Global constants
. TOOLDEMO.FRX- Binary form info for TOOLDEMO
. TOOLDEMO.MAK- VB project file for TOOLDEMO

 December 21, 2017  Add comments

 Leave a Reply

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>