LED - Polskie Forum Komputerowe

  • Nie jesteś zalogowany.
  • Polecamy: Komputery

#1 2008-08-08 08:34:35

Mornet

Administrator

Zarejestrowany: 2008-07-30
Posty: 38
Punktów :   

Prosta przeglądarka stron w Delphi na silniku Internet'a Explorera

Delphi posiada doskonały komponent, który pozwoli nam w prosty sposób utworzyć własną przeglądarkę internetową opartą na enignie Internet Explorera firmy Microsoft. Na początku musimy umieścić na formie komponent, który wyświetlał będzie strony internetowe. Znajduje się on w zakładce 'Internet' pod nazwą TWebBrowser. Umieśćmy go na formie i pozostawmy domyślną nazwę czyli 'WebBrowser1'. Teraz na formie umieśćmy komponent TEdit o nazwie TEdit1. Ustawmy jego zdarzenie OnKeyPress:

Spoiler:

if key = #13 then
begin
WebBrowser1.Navigate(Edit1.text);
end;

Ten fragment kodu pozwoli nam wyświetlić zawartość strony o adresie wpisanym w Edit1 po wciśnięciu przycisku enter.

Teraz możemy umieścić dodatkowe przyciski zwane przyciskami nawigacyjnymi. Oto ich kody:

Wstecz:

Spoiler:

WebBrowser1.GoBack;

Dalej:

Spoiler:

WebBrowser1.GoForward;

Stop:

Spoiler:

WebBrowser1.Stop;

Odśwież:

Spoiler:

WebBrowser1.Refresh;

W taki prosty sposób mamy już bardzo okrojoną przeglądarkę internetową o standardowych funkcjach nawigacyjnych.

Teraz dodajemy dodatkowe funkcje. Najpierw dodamy procedurę, która umożliwi nam wyświetlanie postępu ładowania strony.

Na formę dodaj komponent TGauge z zakładki 'Samples'. Ten komponent yświetli postęp ładowania strony.

Teraz musimy ustawić zdarzenie 'OnProgressChange' dla WebBrowser1:

Spoiler:

ProgressMax := 100;
Gauge1.Progress := Progress;

Tak w prosty sposób otrzymaliśmy pasek postępu. Teraz następna przydatna funkcja. Internet Explorer wyświetla bowiem na pasku tytułowym zaratość znaczników title. Aby nasz program także wyświetlał title musimy dodać zdarzenie OnTitleChange dla WebBrowse1:

Spoiler:

Form1.Caption := text;

OK. Jeszcze kilka zdarzeń. Teraz OnstatusTextChange. Zdarzenie to pozwoli wyświetlać tekst statusu. W IE przedstawiony jest on na dolnym panelu i wyświetla m.in. adresy odnośników. W naszym przypadku odpowiada za to właśnie zdarzenie OnstatusTextChange. Gdy chcemy aby status był wyświetlany na panelu najpierw umieszczamy na formie komponent TStatusBar o nazwie StatusBar1. Teraz musimy dodać panel na StatusBar1. Robi się to poprzez dwukrotne kliknięcie na panel i kliknięcie ikonki 'Add New'. Teraz OnstatusTextChange WebBrowser1:

Spoiler:

StatusBar1.Panels[0].text := Text;

I jeszcze jedna bardzo ważna funkcja, która uniemożliwi przejęcie okien innej przeglądarce. Oznacza to, że w przypadku kiedy link zostanie otwarty w nowym oknie otworzy go nasza przeglądarka a nie np. IE. Aby to zrobić musimy ustawić zdarzenie webBrowser1 OnNewWindow2:

Spoiler:

var NewWindow: TForm1;
begin
  NewWindow := TForm1.Create(self);
  NewWindow.Show;
  ppDisp := NewWindow.Webbrowser1.DefaultDispatch;
end;

Źródło: 4Programmers.net

Offline

 

#2 2008-08-08 09:25:46

TuxMan

Moderator

6845329
Skąd: Iłowa
Zarejestrowany: 2008-07-31
Posty: 32
Punktów :   

Re: Prosta przeglądarka stron w Delphi na silniku Internet'a Explorera

Fajne, tylko dam poradnik dla noobów, jak zainstalować TWebbrowser w Delphi 7 Personal.

1. Kliknij "Component", a potem "Import ActiveX Control"
2. Wyszukaj w liście pozycję "Microsoft Internet Controls 1.x" x może się różnic zależnie od posiadanej wersji IE.
3. Kliknij "Install"
4. Potwierdź wszystkie komunikaty
5. Zrestartuj Delphi


Przeklęci są ci, co nie grają w Tibię, albowiem oni będą spaleni...
Przeklęci PKerzy, albowiem oni będą zhunceni.
Przeklęci ci, którzy raporty na bliźnich wysyłają, albowiem oni bana dostaną.
Przeklęci hackerzy, albowiem oni stracą konta.

Offline

 
Copyright 2008 LED

Stopka forum

RSS
Powered by PunBB
© Copyright 2002–2008 PunBB
Polityka cookies - Wersja Lo-Fi


Darmowe Forum | Ciekawe Fora | Darmowe Fora
GotLink.pljak-napisac-zaproszenie-na-komunie.eu grzejniki purmo wrocław Serwis komputerowy pruszków