Подтвердить что ты не робот

Как скопировать и вставить из объекта THtmlViewer?

В настоящий момент у меня следующий хак:

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 по какой-то причине, похоже, не реализован таким образом.

Другая проблема заключается в том, что вышеупомянутый метод также не учитывает щелчок правой кнопкой мыши и выбор "копировать"

EDIT: В конце я решил заменить приведенный выше код соответствующим контекстным меню в соответствии с этим руководством: http://delphi.about.com/od/tmemotrichedit/a/richedit-popup.htm p >

4b9b3361

Ответ 1

Вы можете что-то сделать, когда пользователь нажимает 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)

Добавить меню стандартного контекста (всплывающее меню) в Delphi TRichEdit