Как вы копируете и вставляете из объекта 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