【发布时间】:2011-12-11 19:24:55
【问题描述】:
在 Delphi 7 的 TMemo 控件中,尝试使用组合键 Ctrl + A 全选不会执行任何操作(不会全选)。所以我做了这个程序:
procedure TForm1.Memo1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
var
C: String;
begin
if ssCtrl in Shift then begin
C:= LowerCase(Char(Key));
if C = 'a' then begin
Memo1.SelectAll;
end;
end;
end;
有什么诀窍可以让我不必执行此程序吗?如果不是,那么这个过程看起来还可以吗?
【问题讨论】:
-
就我个人而言,我会尽快创建一个从标准备忘录派生的组件并在那里处理按键,这样您就不需要使用特殊处理代码污染所有表单。
-
@David:您知道多行模式下的标准 Windows 编辑控件是否不允许 Ctrl+A 命令,或者 VCL 包装器是否存在问题? (
TEdit按预期处理 Ctrl+A。) -
@Andreas 一旦我可以使用带有编译器的机器,我将尝试生成一个原始的 win32 petzold prog 并检查它。
-
这似乎是一个操作系统问题,没有文档解释。许多关于它的帖子只是基于您自己编写代码。
-
@David:如果我没记错的话,Raymond 会时不时地向他的读者询问要写的东西。这将是一个有趣的话题。
标签: delphi keyboard-shortcuts delphi-7 tmemo