Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Boa noite galera do imaster.
Venho eu aqui, humildimente pedir vossa ajuda.
Bom. Sou inciante em programaçao e to tentando criar um webBroswer, para fins de aprendizado e busca de conhecimento sobre as ferramentas que o glorioso delphi disponibiliza.
Eu consegui criar o browser, porem ainda tem alguns problemas que eu queria resolver e ainda nao consegui achar a soluçao, como por exemplo:
Eu digito www.orkut.com.br e clico em GO, ele acessa o orkut e eu consigo logar. Porem ... se eu clicar em alun link.. ou ate msm enquanto a pagina do orkut carrega... ele nao mostra o link para o qual ele foi redirecionado. Continua sempre o endereço que eu digitei... Ou seja... se eu for no google e pesquisar: Naruto Project eu consigo achar e acessar o site. Porem msm apos eu entrar no site ... continua la.... www.google.com.br.
Eu tentei resolver isso usando o meuconponente.LocationURL soh que nao deu mt certo, pois o processo de compila do delphi é mais rapido do que o carregar da pagina... e ele pega o endereco que estava aberto na hora do clique.
Segue meu codigo.(agora eu retirei essa parte do .locationURL)
unit Nav;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls, OleCtrls, SHDocVw, sSkinManager, Menus, jpeg;
type
TfmNav = class(TForm)
Panel1: TPanel;
btnBack: TButton;
btnRefresh: TButton;
Button3: TButton;
edtEnd: TEdit;
btnForwrd: TButton;
webPage: TWebBrowser;
MainMenu1: TMainMenu;
File1: TMenuItem;
File2: TMenuItem;
About1: TMenuItem;
Sair1: TMenuItem;
Help1: TMenuItem;
Verso1: TMenuItem;
Desenvolvedor1: TMenuItem;
Configuraes1: TMenuItem;
btnHome: TButton;
cbFavorite: TComboBox;
Image1: TImage;
procedure btnRefreshClick(Sender: TObject);
procedure btnForwrdClick(Sender: TObject);
procedure btnBackClick(Sender: TObject);
procedure btnGoClick(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure Sair1Click(Sender: TObject);
procedure btnHomeClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
fmNav: TfmNav;
implementation
{$R *.dfm}
procedure TfmNav.btnBackClick(Sender: TObject);
begin
webPage.GoBack;
end;
procedure TfmNav.btnForwrdClick(Sender: TObject); webPage.GoForward;
end;
procedure TfmNav.btnHomeClick(Sender: TObject); webPage.Navigate('www.google.com.br');
edtEnd.Text := (webPage.LocationURL);
end;
procedure TfmNav.btnRefreshClick(Sender: TObject); webPage.Refresh;
end;
procedure TfmNav.btnGoClick(Sender: TObject); webPage.Navigate(edtEnd.text);
fmNav.Caption := (' Navegador Basico - By Andreatti');
end;
procedure TfmNav.FormShow(Sender: TObject); webPage.Navigate('www.google.com.br');
edtEnd.Text := ('www.google.com.br');
end;
procedure TfmNav.Sair1Click(Sender: TObject); close;
end;
end.
Espero que tenhan entendido minha duvida.. E fazendo isso gostaria tmb de que o nome do site(ou a pagina aberta) aparece na minha barra de titulos do browser...
Soh funciono comigo usando o google... ele aprecia no caption do form...
Agradeço desde jha...
Uga
Resolveu sim... Otimo..
Agora por exemplo..se eu colcasse nessa parte:
>
Para exibir o título da página no seu form, adicione no evento "OnTitleChange" do webbrowser:
procedure TfmNav.webPageTitleChange(Sender: TObject;
const Text: WideString);
begin
Self.Caption := Text;
end;
Se eu mudasse o Self.caption para:
procedure TfmNav.webPageTitleChange(Sender: TObject;
const Text: WideString);
begin
TForm.Caption := Text;
end;
Funcionaria?? Eh porque eu vo ficar sem delphi aqui para fazer uns testes por uns dias... so deu tempo de testar o codigo que voce me passou.
Agradeço se voce me responder nvoamente.
Obrigado desde jah.
OBS: Eu nao acredito que eu nao vi escrito WEB BROSER no titulo do post. -.-"
TForm.Caption não é possível não pois TForm é a classe, ela é apenas o modelo, você precisa mexer no objeto (Form1 ou o Self)
hmm.. Entendi.. Obrigado ai...
Ajudou muito
Para adicionar a URL do site no seu edit, adicione o seguinte código no evento "OnDocumentComplete" do TWebBrowser:
beginPara exibir o título da página no seu form, adicione no evento "OnTitleChange" do webbrowser:
beginEspero que isso te ajude!