我想在我的应用程序中编写脚本编辑器,我在 Firemonkey 的 C++Builder 中编写脚本编辑器。当您在 TMemo(或 TEdit> 中编辑代码时,
我试图挂接到表单的 onKeyDown 和 TMemo 组件,但似乎
如何更改焦点处理器的行为,或者仅将 TMemo 组件配置为不移动到 Tab 键上的下一个组件,而是打印它?
type
TForm1 = class(TForm)
//....
public
{ Public declarations }
procedure KeyDown(var Key: Word; var KeyChar: System.WideChar; Shift: TShiftState); override;
end;
//....
procedure TForm1.KeyDown(var Key: Word; var KeyChar: System.WideChar;
Shift: TShiftState);
begin
if (Key = vkTab) and (Focused.GetObject = Memo1) then
begin
KeyChar := #9;
Focused.KeyDown(Key, KeyChar, Shift);
Exit;
end;
inherited;
end;
像这样覆盖TForm.KeyDown过程,Tab键将在备忘录中正常工作。