Как вы копируете и вставляете из объекта THtmlViewer? - PullRequest
12 голосов
/ 05 мая 2011

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

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 Ответ

3 голосов
/ 27 июня 2011

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

...