HKMenu - Menu Short Cut configurable by user, version 1.2.

>> what is included <<

in this zip files is this file - hkmenu.txt

chkmenu.dcr		Component Bitmap
chkmenu.dcu		Component
fhkmenu.dcu		Special Form
fhkmenu.dfm		Special	Form
itemkind.res		Resources used by Special Form.

ExampleP.dpr		Example of use
Example.dfm
Example.pas


This component works only in 32-bit system with Delphi 2.0.
This unregistered version will only work when delphi is running. 
If the component fails to recognize Delphi, then it works in an unregistered way.
This component allows to configure only five menu items once, when it works in Unregistered way. So if you want to try every its possibility you have to stop application after every customization. I know it is not very nice, but I don't know a sure methods to identify if Delphi is running (if you know you will be very welcomed).


You can get a registered version - that is, working without Delphi IDE - by sending me $10 (American);
you can get a fully registered version - that is, source code - by sending me $20 (American).

With an extra $5 you can get all the upgrade until version 2.0 will be released.

Fiocchetti Leonardo
Via XXV Luglio, 14
00046 Grottaferrata (ROMA)
ITALY

email: leofiocc@datamat.it
fax: -6-9313259

delivery over the net - mime encoded attachment. 
Add $5 for snail mail.


>> Installation <<
Copy first five file in a directory and then with the Install Component, install chkmenu.dcu.


>> What can this component do? <<
HKMenu is a delphi component that allows your application user to configure short cut of any menu item on your application form.

The component is normally invisible, but invoking

    procedure Customize;

method make a special form visible, by that user can associate wished Short Cut to selected item menu. There is a check in order to avoid multiple association of same short cut to several menu items.

By methods
    procedure SaveConfiguration(FileName : string);
    procedure LoadConfiguration(FileName : string);

your application can save and load current menu configuration in order to avoid your user has to retype all short cuts any time he/she launchs your application.

The components has three properties:

    property Menu : TMainMenu read FMenu write FMenu;
    property OnlyVisible : boolean read FOnlyVisible write FOnlyVisible;
    property Title : string read FTitle write FTitle;

- Menu points out TMainMenu on that the above methods work;
- OnlyVisible is a switch that allows your user to configure only visible/all menu items in Menu.
- Title is the caption of the special form that appears when Customize method is invoked.


>> What News <<
I added three properties, in order to allows developer to customize messages to the application user:

    property AlreadyAssigned : string ...
    property CantAssign : string ...
    property InstructionMsg : string

The first one appears when the user tries to assign a short cut that is already assigned to another menu item;
the second one if the the user tries to assign short cut to menu items that aren't leaves of the menu tree;
the last one appears when the user enters a short cut or selects a menu item.

>> What am I doing? <<
I am preparing a new version that will include the following items:
a: application user will be enabled to change every menu item caption (if developer allows it)
b: component checks every window in order to customize all class windows during the execution, in this way your program has not to check if it is using a great deal of windows. This item will be very useful for MDI application, or SDI application with a lot of same class window.


>> using the component <<

It's real easy! Just drop it onto any form, and before invoking any methods assign to menu property the TMainMenu you want to configure.
Just two lines of code.


>> legal stuff <<

Standard disclaimer - I'm not responsible for anything that might
result from proper or other use of this component.


>> signalation <<
I'll be happy if you send me any signalation, comment, bug or other.
Please write on the subject of your e-mail something like:
CHKMenu - [signal, bug, info, or what else you want]

Thanx for your time spending on my component.
Fiocchetti Leonardo
leofiocc@datamat.it
