¿Cómo se copia y pega de un objeto thtmlviewer?
-
28-10-2019 - |
Pregunta
Por el momento tengo el siguiente hack:
procedure TForm1.HTMLViewer1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if (Key = Word('C')) and (Shift = [ssCtrl]) then
HTMLViewer1.CopyToClipboard;
end;
¿Existe una forma más sensata/mantenible de permitir la copia de un HTMLViewer? Espero que haya una propiedad que pueda establecer, o algo así, porque tener que hacer lo anterior parece estúpido. Los descendientes de TCustomedit tienen copia, pegado y selección de todo por defecto, pero HTMLViewer por alguna razón no parece implementarse de esta manera.
Otro problema es que el método anterior tampoco tiene en cuenta el clic derecho y la selección de "copia"
Editar: al final elegí reemplazar el código anterior con un menú contextual adecuado, según este tutorial: http://delphi.about.com/od/tmemotrichedit/a/richedit-popup.htm
Solución
Puede hacer algo cuando el usuario presione Ctrl-C (es decir, use su propia solución #1)
procedure TForm1.HTMLViewer1KeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
begin
if (Key = Word('C')) and (Shift = [ssCtrl]) then
HTMLViewer1.CopyToClipboard;
end;
O puede implementar un menú emergente como se describe aquí (es decir, su propia solución #2)
Agregue un menú de contexto estándar (emergente) al Trichedit de Delphi