目前我有以下黑客攻击:
procedure TForm1.HTMLViewer1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if (Key = Word('C')) and (Shift = [ssCtrl]) then
HTMLViewer1.CopyToClipboard;
end;
是否有更合理/可维护的方式来启用htmlviewer的复制?我希望有一个我可以设置的属性,或者其他东西,因为必须做上述操作似乎很愚蠢。 TCustomEdit的后代默认会复制,粘贴和选择所有内容,但htmlviewer由于某种原因似乎没有以这种方式实现。
另一个问题是上述方法也没有考虑右键单击并选择“复制”
编辑:最后,我选择使用适当的上下文菜单替换上面的代码,根据本教程:http://delphi.about.com/od/tmemotrichedit/a/richedit-popup.htm
答案 0 :(得分:3)
当用户按下Ctrl-C(即使用您自己的解决方案#1)时,您可以执行某些操作
procedure TForm1.HTMLViewer1KeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
begin
if (Key = Word('C')) and (Shift = [ssCtrl]) then
HTMLViewer1.CopyToClipboard;
end;
或者您可以实现此处所述的弹出菜单(即您自己的解决方案#2)