Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Ilano

Criar um WebBrowser dinamicamente

Recommended Posts

Olá pessoal,

 

Encontrei neste link (http://www.planetadelphi.com.br/artigo/97/criando-um-webbrowser-avancado-passo-a-passo-de-uma-forma-muito-simple) uma unit com várias funções do webbrowser, mas gostaria de implementar uma outra que me possibilitasse a criação de um novo webbrowser dentro de um TabSheet.

 

Tentei fazer o código abaixo:

 

procedure TFrmNavegadorWeb.TabSheet2Show(Sender: TObject);

Var

I : Integer;

TabSheet :TTabSheet;

WB : TWebBrowser;

begin

If PageControl1.PageCount < 15 Then

Begin

I:=PageControl1.PageCount + 1;

TabSheet := TTabSheet.Create(Self);

TabSheet.Name := 'TabSheet' + IntToStr(I);

TabSheet.Caption := 'Nova...';

TabSheet.PageControl := PageControl1;

 

 

WB := TWebBrowser.Create( TabSheet2 );

TWinControl(WB).Name := 'WebBrowser' + IntToStr(I);

TWinControl(WB).Align :=alClient;

TWinControl(WB).Parent := Self;

End

Else

If PageControl1.PageCount = 15 Then

Begin

ShowMessage('ESTE NAVEGADOR SÓ PERMITE A CRIAÇÃO DE 15 ABAS.');

End;

 

end;

 

Os problemas é que, na linha em vermelho, estou passando um TabSheet que já existe, mas como faço isso dinamicamente? E também que o webbrowser está se sobrepondo ao PageControl1, preciso que seja criado dentro do novo TabSheet.

 

Grato,

 

Ilano.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pessoal,

 

onsegui fazer a primeira parte, criar os TWebBrowsers dentro do TabSheet:

 

procedure TFrmNavegadorWeb.BtnAbasClick(Sender: TObject);

Var

I : Integer;

TS :TTabSheet;

WB : TWebBrowser;

begin

If PageControl1.PageCount < 15 Then

Begin

I:=PageControl1.PageCount + 1;

TS := TTabSheet.Create(Self);

TS.Name := 'TabSheet' + IntToStr(I);

TS.Caption := 'Aba ' + IntToStr(I);

TS.PageControl := PageControl1;

pagecontrol1.ActivePage := TS;

 

WB := TWebBrowser.Create( Self );

TWinControl(WB).Name := 'WebBrowser' + IntToStr(I);

TWinControl(WB).Align :=alClient;

TWinControl(WB).Parent := TS;

 

End

Else

If PageControl1.PageCount = 15 Then

Begin

ShowMessage('ESTE NAVEGADOR SÓ PERMITE A CRIAÇÃO DE 15 ABAS.');

End;

 

end;

Agora é como fazer para ao teclar enter num ComboBox carregar um TWebBrowser de uma uma aba. Estou tentando o código abaixo, mas não está dando certo, alguém pode me ajudar?

 

procedure TFrmNavegadorWeb.ComboBox1KeyPress(Sender: TObject;

var Key: Char);

Var

I : Integer;

begin

If (key=#13) then

Begin

For I:=0 to PageControl1.ActivePage.ComponentCount-1 Do

Begin

if PageControl1.ActivePage.Components is TWebBrowser then

TWebBrowser(PageControl1.ActivePage.Components).Navigate(ComboBox1.Text);

End;

End;

 

end;

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.