79 lines
1.3 KiB
ObjectPascal

unit formkey;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, comctrls,
ButtonPanel, ATSynedit;
type
{ TfmCmd }
TfmCmd = class(TForm)
ButtonPanel1: TButtonPanel;
List: TListView;
procedure FormShow(Sender: TObject);
procedure ListDblClick(Sender: TObject);
private
{ private declarations }
public
{ public declarations }
edit: TATSynEdit;
end;
var
fmCmd: TfmCmd;
function DoCommandDialog(AEdit: TATSynEdit): integer;
implementation
uses
Menus, LCLProc;
{$R *.lfm}
function DoCommandDialog(AEdit: TATSynEdit): integer;
begin
Result:= 0;
with TfmCmd.Create(nil) do
try
edit:= AEdit;
if ShowModal=mrOk then
if List.Selected<>nil then
Result:= StrToIntDef(List.Selected.SubItems[2], 0);
finally
Free
end;
end;
{ TfmCmd }
procedure TfmCmd.FormShow(Sender: TObject);
var
i: integer;
begin
for i:= 0 to edit.Keymap.Count-1 do
with edit.Keymap.Items[i] do
with List.Items.Add do
begin
Caption:= Name;
SubItems.Add(ShortCutToText(Keys1[0]));
SubItems.Add(ShortCutToText(Keys2[0]));
SubItems.Add(Inttostr(Command));
end;
if List.Items.Count>0 then
List.Selected:= List.Items[0];
end;
procedure TfmCmd.ListDblClick(Sender: TObject);
begin
//ModalResult:= mrOk;
end;
end.