在webbrowser打开的网页中,我先选择了一段带有图片的文章,然后选择右键“复制”,然后我想在自己的程序中的memo文本框中得到这段内容的html代码(如:复制的源内容为“我爱你”,那么在memo中就得到<p>我爱你</p> ,当然了,实际运用中是要远比这个复杂的,里边还会有图片的地址),那么请问我应如何实现?要求:
1、用程序用delphi 来编写
2、采用webbrowser 控件
3、不用改变原来的html代码,原来是什么样就什么样了,你只需原版复制就可以了
4、不要把整个网页的html代码全部填进memo中,我只要被选定内容的html代码就可以了
5、请给出源代码高分等待!!!

解决方案 »

  1.   

    这个不用webbrowser也可以、http://borland.mblogger.cn/jinjazz/posts/23857.aspx
      

  2.   

    楼上的,我的用你的代码运行,报错啊
    [Fatal Error] Unit1.pas(7): File not found: 'SHDocVw_TLB.dcu'
      

  3.   

    那上哪里去找这个 SHDocVw_TLB.dcu 啊?
      

  4.   

    jinjazz ,我用你的方法,在webbrowser上已经获取到了想要复制的文本了,可是有一个问题,那就是只能得到文本,无法得到它的HTML源代码啊!
      

  5.   

    好久不用D,写点代码还真是费力气unit Unit1;interfaceuses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, OleCtrls, SHDocVw, StdCtrls,mshtml;type
      TForm1 = class(TForm)
        WebBrowser1: TWebBrowser;
        Button1: TButton;
        Memo1: TMemo;
        procedure FormCreate(Sender: TObject);
        procedure Button1Click(Sender: TObject);
      private
        { Private declarations }
      public
        { Public declarations }
      end;var
      Form1: TForm1;implementation{$R *.dfm}procedure TForm1.FormCreate(Sender: TObject);
    begin
      WebBrowser1.Navigate('www.google.cn');
    end;procedure TForm1.Button1Click(Sender: TObject);
    var doc:mshtml.IHTMLDocument2;
    var select:mshtml.IHTMLTxtRange;
    begin
       doc:= self.WebBrowser1.Document as mshtml.IHTMLDocument2;
       select:=doc.selection.createRange() as mshtml.IHTMLTxtRange;
       memo1.Text:=  select.htmlText;
    end;end.
      

  6.   

    哇哇哇,真的好高兴啊,就差没有抱住你喊一声爷爷了,呵呵,谢谢了,马上结贴了,再次说声,谢谢jinjazz !!!