From 81609c83cb82a5994217f27586c6c294cf4986bd Mon Sep 17 00:00:00 2001 From: Ansgar Becker Date: Sat, 9 Aug 2008 19:47:13 +0000 Subject: [PATCH] Enable shortcuts in memo editor: - Escape for cancel editing - Ctrl + Enter for apply text and end editing --- source/memoeditor.dfm | 1 + source/memoeditor.pas | 16 +++++++++++++++- 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/source/memoeditor.dfm b/source/memoeditor.dfm index ec04b235..d777bf02 100644 --- a/source/memoeditor.dfm +++ b/source/memoeditor.dfm @@ -27,5 +27,6 @@ object frmMemoEditor: TfrmMemoEditor ScrollBars = ssBoth TabOrder = 0 WantTabs = True + OnKeyDown = memoTextKeyDown end end diff --git a/source/memoeditor.pas b/source/memoeditor.pas index 3a6ce986..e104ad7a 100644 --- a/source/memoeditor.pas +++ b/source/memoeditor.pas @@ -3,7 +3,7 @@ unit memoeditor; interface uses - Windows, Classes, Graphics, Controls, Forms, StdCtrls, TntStdCtrls, Registry; + Windows, Classes, Graphics, Controls, Forms, StdCtrls, TntStdCtrls, Registry, VirtualTrees; {$I const.inc} @@ -12,6 +12,7 @@ type memoText: TTntMemo; procedure FormDestroy(Sender: TObject); procedure FormShow(Sender: TObject); + procedure memoTextKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); private { Private declarations } public @@ -58,5 +59,18 @@ begin end; +procedure TfrmMemoEditor.memoTextKeyDown(Sender: TObject; var Key: Word; Shift: + TShiftState); +var + Tree: TCustomVirtualStringTree; +begin + Tree := TCustomVirtualStringTree(Parent); + case Key of + // Cancel by Escape + VK_ESCAPE: Tree.CancelEditNode; + // Apply changes and end editing by Ctrl + Enter + VK_RETURN: if ssCtrl in Shift then Tree.EndEditNode; + end; +end; end.