为什么无法将TDBMemo组件中选择的文本复制到剪贴板中? DELPHI 7,Windows Vista。 以下代码无法捕获ctrl+c事件,而ctrl+a却可以正常工作。
uses clipbrd;
procedure THierarchierForm.dbm1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if (Key=Ord('A')) and (ssCtrl IN Shift) then begin
dbm1.SelectAll;
Key:=0;
end;
if (Key=Ord('C')) and (ssCtrl IN Shift) then begin
Clipboard.AsText:=dbm1.SelText;
Key:=0;
end;
end;
谢谢。
dbm1.CopyToClipboard
。 - David HeffernanShift=[ssCtrl]
会更好,但最好的方法是Shift*[ssShift,ssAlt,ssCtrl]=[ssCtrl]
,但这有点学究。无论如何,如果你以这种方式做,将其移到Helper函数中。 - David HeffernanTDBMemo
不是很了解,但普通的TMemo
本身就可以处理Ctrl+C(X、V、Z)。无论如何,@David对他的评论是正确的。 - Andreas Rejbrand