---- Talvez você ainda se lembre do exemplo do navegador no programa de exemplo do Delphi. Nesse exemplo, foi feito um navegador utilizando as propriedades e métodos do controle THttp. Este exemplo é muito bom para entender como usar o controle THttp. Mas poucas pessoas o usarão como um navegador real. O motivo é muito simples. As funções são muito limitadas. Ele não suporta Frame, não suporta linguagem de script Script, não pode visualizar arquivos HTML como arquivos locais, etc. A maioria dos usuários usa IE ou Navigator; nós, programadores, também ficamos felizes em usar navegadores prontos. Quando precisamos usar o navegador, chamamos o navegador externo no programa por meio de métodos como WinExec ou CreatePRocess para uso dos usuários. Este método é realmente muito livre de problemas, mas sempre me deixa um pouco relutante em ceder o controle do programa a outros programas externos. Isso sempre me deixa muito problemático, especialmente quando o nível de uso do computador do usuário do software aplicativo não é muito. alto. Seria ótimo se houvesse um controle de navegador que permitisse incorporar o navegador em seu próprio programa.
---- Se o ambiente externo do seu software for WIN95 + IE ou WIN98 (a taxa de uso desse software ainda é muito alta), então já existe um controle do navegador IE no sistema que pode ser usado. Você não percebeu o tempo, não desperdice recursos, use-os. Quando IE 3.X ou IE 4., você descobrirá que o controle IE foi registrado no sistema como um controle ActiveX, para que possamos usar o controle no Delphi.
---- Como o controle do navegador IE precisa fornecer uma função de exibição antes de poder ser usado, você não pode usar CreateOleObject para obter uma instância no programa e usar diretamente suas propriedades e métodos, caso contrário, o programa causará um erro durante a execução; neste caso, você precisa usar as funções fornecidas na função "Import ActiveX Control" do Delphi, o método de operação é descrito abaixo.
---- No menu "Componentes", chame a função "Importar controle ActiveX", selecione "Microsoft Internet Controls (Version1.1)" na lista de controles registrados e o caminho mostrado na barra de prompt abaixo é C:PWin98SystemSHDOCVW .DLL, três controles que podem ser registrados estão listados em Nomes de classes (lista de tipos): TWebBrowser_V1, TWebBrowser e TShellFolderViewOC são respectivamente controle do navegador IE3, controle do navegador IE4 e controle "Microsoft Shell Folder View Router". Clique em Instalar para instalar. Após a conclusão da instalação, três controles serão adicionados na barra de controle "ActiveX", a saber, TWebBrowser_V1, TWebBrowser e TShellFolderViewOC; no diretório Imports do Delphi, será criado um arquivo SHDocVw_TLB.PAS, que contém os detalhes do empacotamento desses três controles. , é claro, contém descrições das propriedades e métodos do controle, que podem ser usadas como referência para usarmos o controle.
----
Veja o TWebBrowser (controle do navegador IE4) como exemplo. As propriedades e métodos comuns do TWebBrowser incluem principalmente: GoBack: método, volte para a página anterior. GoForward: método para avançar para a próxima página. GoHome: Método, chama a página inicial padrão, que é definida nas opções do IE. GoSearch: Método, chama a página de pesquisa padrão, que é definida nas opções do IE. Navigate(const URL: WideString; var Flags, TargetFrameName, PostData, Headers: OleVariant): método, chama a página especificada, os parâmetros específicos são os seguintes: URL: o URL da página especificada. Sinalizadores: Tipo de palavra, a função ainda não está clara, pode ser definida como 0. TargetFrameName: WideString, abra o Frame onde a página está localizada. Se for uma string vazia, será aberta no Frame atual se o Frame especificado por TargetFrameName existir, será aberto no Frame especificado por; TargetFrameName não existe, uma nova janela será aberta. Isso equivale a Para chamar o navegador IE externo. PostData: booleano, se permite o envio de dados. Cabeçalhos: WideString, os dados do cabeçalho da solicitação de URL a ser enviada. Atualizar: método, atualiza a página atual. Parar: Método, pare de chamar ou abrir a página atual. LocationName: Propriedade (WideString), o nome do local atual. LocationURL: Propriedade (WideString), a URL do local atual. Ocupado: Atributo (Booleano), se está ocupado. Visível: Propriedade (booleana), se a janela do navegador está visível. (As seguintes propriedades são novas no TWebBrowser e não estão disponíveis no TWebBrowser_V1, e suas funções precisam ser exploradas) StatusBar: Propriedade (Booleana), se deseja exibir a barra de status. StatusText: Propriedade (WideString), conteúdo da barra de status. ToolBar: Propriedade (SYSINT), conteúdo da barra de ferramentas. MenuBar: Propriedade (booleana), se deseja exibir a barra de menus. FullScreen: Propriedade (booleana), se será exibida em tela cheia. Off-line: Propriedade (booleana), se deseja navegar off-line. AddressBar: Propriedade (booleana), se deseja exibir a barra de endereço. Os eventos comuns do TWebBrowser incluem principalmente: OnStatusTextChange = procedure(Sender: TObject; const Text: WideString) do objeto;
---- Ocorre quando as informações do prompt da barra de status são alteradas. O parâmetro Texto é a informação atual do prompt da barra de status. Podemos atualizar nossas próprias informações do prompt da barra de status ou lidar com outras transações com base nessas informações.
----OnProgressChange = procedimento(Sender: TObject; Progress, ProgressMax: Integer) do objeto;
---- Ocorre quando o progresso da página aberta muda. O parâmetro Progress é o progresso atual e ProgressMax é o progresso total. Podemos atualizar nossas próprias informações de prompt da barra de status ou lidar com outras transações com base nesses dois parâmetros.
----OnCommandStateChange = procedimento(Sender: TObject; Command: Integer; Enable: WordBool) do objeto;
---- Ocorre quando um novo comando é executado. Command é o identificador do comando e Enable é se o comando pode ser executado. OnTitleChange = procedimento(Sender: TObject; const Text: WideString) do objeto;
---- Ocorre quando o título da página muda, Texto é o título atual.
----OnPropertyChange = procedimento(Sender: TObject; const Property_: WideString) do objeto;
---- Ocorre quando as propriedades da página mudam, Property_ é o nome da propriedade OnDownloadComplete: TNotifyEvent
---- Ocorre após a conclusão da página de download.
----OnDownloadBegin: TNotifyEvent
---- Ocorre antes do início da página de download.
---- (1) Faça seu próprio sistema de ajuda
---- Usamos o controle do navegador IE para criar um sistema de ajuda para os usuários. O arquivo de ajuda é composto por vários arquivos HTML. Arquivos HTML. Uma tag (#Item). Desta forma, em nosso sistema, não precisamos mais chamar o navegador IE ou o programa WinHelp para prestar ajuda aos usuários. Acredito que todos vocês conhecem as vantagens dos arquivos de ajuda HTML em comparação com os arquivos de ajuda HLP tradicionais.
---- No exemplo a seguir, é demonstrado o uso do método Navigate do TWebBrowser (controle do navegador IE4). Por favor, preste atenção aos comentários no programa. (Abaixo está o trecho principal do programa).
{Chamando o arquivo de ajuda de acordo com o tópico e projeto}procedure ShowHelp(HelpTopic,HelpItem: String);var TargetFrameName,PostData,Heads,Flags:OleVariant;URL:widestring;begin TargetFrameName:= ';{Ao especificar a string vazia de Frame e, em seguida, abra o arquivo de ajuda no quadro atual} PostData := false;{Não enviar dados} Heads := ';{As informações do cabeçalho estão vazias} Flags := 0;{Os sinalizadores estão definidos como 0} URL := HelpTopic + '.HTM#'+HelpItem;{URL das informações de ajuda} com formHelp.webbrowser do{Exibir informações de ajuda no controle do navegador IE na janela de ajuda} começar a navegar( URL,Flags,TargetFrameName,PostData,Heads);{Exibir informações de ajuda} end;end;
---- (2) Exibir uma animação GIF
---- Se você não tiver um controle de exibição de animação adequado, tente o seguinte método.
procedimento ShowGIF( GIFFileName : String );var TargetFrameName,PostData,Heads,Flags : OleVariant; URL : widestring;begin TargetFrameName := ';{Quando a string vazia do Frame for especificada, o arquivo de animação será aberto no Frame atual} PostData := false;{Não envia dados} Heads := ';{As informações do cabeçalho estão vazias} Flags := 0;{Flags estão definidas como 0} URL := GIFFileName; formGIF.webbrowser do{Exibir animação no controle do navegador IE na janela especificada} começar navegar(URL,Flags,TargetFrameName,PostData,Heads);{Exibir arquivo de animação} end;end;
----O programa acima foi depurado em PWIN98+Delphi3.0.