Domanda

Al momento ho il seguente hack:

procedure TForm1.HTMLViewer1KeyDown(Sender: TObject; var Key: Word;
    Shift: TShiftState);
begin
    if (Key = Word('C')) and (Shift = [ssCtrl]) then
        HTMLViewer1.CopyToClipboard;
end;

Esiste un modo più sensato/mantenibile per consentire la copia da un HTMLVIEWER? Spero che ci sia una proprietà che posso impostare, o qualcosa del genere, perché dover fare quanto sopra sembra stupido. I discendenti di TCustomedit hanno copia, incolla e selezionati per impostazione predefinita, ma Htmlviewer per qualche motivo non sembra essere implementato in questo modo.

Un altro problema è che anche il metodo sopra non tiene conto del tasto destro del mouse e della selezione di "copia"

EDIT: Alla fine ho scelto di sostituire il codice sopra con un menu contestuale corretto, secondo questo tutorial: http://delphi.about.com/od/tmemotrichedit/a/richedit-popup.htm

È stato utile?

Soluzione

Potresti fare qualcosa quando l'utente preme CTRL-C (cioè utilizzare la tua soluzione n. 1)

procedure TForm1.HTMLViewer1KeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
begin
  if (Key = Word('C')) and (Shift = [ssCtrl]) then
    HTMLViewer1.CopyToClipboard;
end;

Oppure potresti implementare un menu popup come descritto qui (cioè la tua soluzione n. 2)

Aggiungi un menu di contesto standard (popup) al Trichedit di Delphi

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top