SPECKEY.PAS

unit SpecKey;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Buttons,
  Controls, Forms, Dialogs, StdCtrls;

type
  TAccSpeed = class(TSpeedButton)
  private
    fAccKey: char;
  protected
    procedure CMDialogChar(var Message: TCMDialogChar);
      message CM_DIALOGCHAR;
  published
    property AccKey: char read fAccKey write fAccKey;
  end;

  TTabEdit = class(TEdit)
  protected
    procedure CMDialogKey(var Message: TCMDialogKey);
      message CM_DIALOGKEY;
  end;

procedure Register;

implementation

procedure TAccSpeed.CMDialogChar(var Message: TCMDialogChar);
begin
  if (Message.CharCode = Word(fAccKey)) and Enabled then
  begin
    Click;
    Message.Result := 1;
  end
  else
    inherited;
end;

procedure TTabEdit.CMDialogKey(var Message: TCMDialogKey);
begin
  if (Message.CharCode = VK_RETURN) and Enabled then
  begin
    GetParentForm (self).Perform (CM_DialogKey, VK_TAB, 0);
    Message.Result := 1;
  end
  else
    inherited;
end;

{registration procedure}
procedure Register;
begin
  RegisterComponents ('DDHB', [
    TAccSpeed, TTabEdit]);
end;

end.

Generated by PasToWeb, a tool by Marco Cantù.