Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

TWebBrowser-ссылка!


ssss ©   (2006-12-21 09:46:00) 

Добрый день у меня такой вопрос можно ли программно нажать ссылку на странице в TWebBrowser??на ум приходит только одна мысль это выцепить кординаты ссылки - направить туда мышь и имитировать клик...??МОжет процедура какая нить есть???

Заранее благодарен...


easy   (2006-12-21 10:37:00) [1]

unit Unit1;

interface

uses
 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
 Dialogs, StdCtrls, OleCtrls, SHDocVw;

type
 TForm1 = class(TForm)
   WebBrowser1: TWebBrowser;
   ListBox1: TListBox;
   procedure FormCreate(Sender: TObject);
   procedure WebBrowser1DocumentComplete(Sender: TObject;
     const pDisp: IDispatch; var URL: OleVariant);
   procedure ListBox1Click(Sender: TObject);
   procedure WebBrowser1BeforeNavigate2(Sender: TObject;
     const pDisp: IDispatch; var URL, Flags, TargetFrameName, PostData,
     Headers: OleVariant; var Cancel: WordBool);
 private
   { Private declarations }
 public
   { Public declarations }
 end;

var
 Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
 WebBrowser1.Align:=alClient;
 ListBox1.Align:=alRight;
 WebBrowser1.Navigate('delphimaster.ru');
end;

procedure TForm1.WebBrowser1DocumentComplete(Sender: TObject;
 const pDisp: IDispatch; var URL: OleVariant);
var
 Links:OleVariant;
 i:integer;
begin
 Links:=WebBrowser1.OleObject.document.all.tags('A');
 for i:=0 to Links.length-1 do
   if Links.item(i).innerText<>'' then
     ListBox1.Items.Add(Links.item(i).innerText)
   else
     ListBox1.Items.Add(Links.item(i).hRef);
end;

procedure TForm1.ListBox1Click(Sender: TObject);
begin
 if ListBox1.ItemIndex>=0 then begin
   WebBrowser1.OleObject.document.all.tags('A').item(ListBox1.ItemIndex).click;
 end;
end;

procedure TForm1.WebBrowser1BeforeNavigate2(Sender: TObject;
 const pDisp: IDispatch; var URL, Flags, TargetFrameName, PostData,
 Headers: OleVariant; var Cancel: WordBool);
begin
 ListBox1.Clear;
end;

end.


Наверх

Титульная страница Поиск, карта сайта Написать письмо