This unit contains a set of three speed button components derived from Delphi's TSpeedButton. The buttons either display associated pop-up menus or link together to form connected button / menu button pairs. The speed buttons are designed for use on toolbars, but have other uses. The components are discussed below.
Components
TPJMenuSpeedButton
When this speed button is clicked it displays an associated pop-up menu.
A TPopupMenu component is associated with this speed button using the ActiveMenu property. The menu is displayed adjacent to the button. The button can be configured to stay down while the menu is displayed or to return to the up position as soon as it is released.
The example shown depicts TPJMenuSpeedButton displaying a menu after being clicked. The button has been configured to stay down while the menu is displayed.
TPJLinkedSpeedButton
This speed button can link to and control a slave button that itself controls a pop-up menu.
The button acts like a normal speed button until a TPJLinkedMenuSpeedButton (see below) is linked using the MenuButton property. The TPJLinkedSpeedButton then takes over control of the menu button, with both buttons being depressed together, both being enabled or disabled together and both being moved together.
You can configure the button to automatically trigger any the default menu item of the active menu of the linked speed button.
To understand more about this component please read about TPJLinkedMenuSpeedButton below.
The example shown depicts a linked pair of buttons with the TPJLinkedSpeedButton being clicked and causing the linked menu button to also be depressed.
TPJLinkedMenuSpeedButton
This component functions like a TPJMenuSpeedButton but can be linked to, and controlled by, a TPJLinkedSpeedButton. By default this button is narrow and displays a down arrow glyph. The button "sticks" to the right hand side of the controlling button and moves with it.
This button is designed for those situations where a dual-action button is required: either the main button is clicked to initiate a default action or the attached menu button is clicked to choose from a menu.
The example shown depicts a linked pair of buttons with the TPJLinkedMenuSpeedButton being clicked and displaying its menu. By setting a property you can align the menu under the TPJLinkedSpeedButton instead.
Help file
These components are supplied with an OpenHelp compatible help file that works with the Delphi 4 to 7 IDE. The help file will not integrate with Delphi 2005 and later, but can be used as a stand-alone help file.
WinHelp is an optional download for Windows Vista through to Windows 8.1 and can't be installed at all on Windows 10 and later.
Demo project
A demo project is also provided in the download.