Как вы копируете и вставляете из объекта 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 по некоторым причинам, похоже, не реализован таким образом.

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

РЕДАКТИРОВАТЬ: В конце я решил заменить вышеуказанный код на соответствующее контекстное меню, как показано в этом руководстве: http://delphi.about.com/od/tmemotrichedit/a/richedit-popup.htm

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)

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

Другие вопросы по тегам