TMoreButton: A button that attaches itself to controls

Version Information
Version: 0.2, updated: 2003-11-14
Developed with Delphi5, ready for use in a package.
Download source code plus demo application.
Content
TMoreButton: A button on a panel that attaches itself to other controls and moves along with them.
Licence
uMoreButton.pas is freeware that comes without any warranty or support. Thus you use it at your own risk. You may even use it in commercial products as long as you mention me as original author somewhere. If you make modifications to the source code, you must maintain the original copyright notice and publish it under the same licence. For the exact conditions, see LICENCE.txt that is contained in the download package.
I am looking forward to feedback via eMail.

TMoreButtontmorebutton

TMoreButton is a control that attaches itself to other controls and moves and resizes with them.

  • Moves and resizes itself when the linked control does
  • Reacts on Ctrl+Return or Shift+Return in the linked control to trigger the button
  • Position the button on the right, left, top or bottom of the linekd control

And once again, my big Thank you! to de.comp.lang.delphi.misc for clearing up some issues.

Technical details

TMoreButton does not subclass the control that it is attached to. Instead, I am installing a hook within the running thread. In fact, there are two hooks: One for the Windows messages concerning resizing and moving the controls. An one for the keyboard input messages.

There is yet one issue: You cannot properly attach more than one TMoreButton to a control. This is because the HookManager is implemented to only handle one. I might implement that some day. Right now I am happy with the component as it is.

Changelog

v0.2
Fixes some bugs. Among them: Action was not properly attached
Caption of the Panel is now used for the button