79 lines
1.3 KiB
ObjectPascal
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.
|
|
|