Como usar o controle WebBrowser Microsoft ActiveX no Microsoft Visual C++ para postar dados do formulário

IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine Translation ou MT), não tendo sido portanto traduzido ou revisto por pessoas. A Microsoft possui artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais, com o objetivo de oferecer em português a totalidade dos artigos existentes na base de dados de suporte. No entanto, a tradução automática não é sempre perfeita, podendo conter erros de vocabulário, sintaxe ou gramática. A Microsoft não é responsável por incoerências, erros ou prejuízos ocorridos em decorrência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza atualizações freqüentes ao software de tradução automática (MT). Obrigado.

Clique aqui para ver a versão em Inglês deste artigo: 815725


Para uma versão deste artigo do Microsoft Visual Basic. NET, consulte 311294.

Para obter uma Microsoft Visual translation from VPE for Csharp .NET versão deste artigo, consulte 313068.

Este artigo faz referência os namespaces de biblioteca de classes .NET Framework a seguir:
  • "System::Windows::Forms"
  • "System::Text"

NESTA TAREFA

Sumário
Este artigo passo a passo descreve como usar o controle de Microsoft ActiveX do WebBrowser no Microsoft Visual C++ .NET orin Microsoft Visual C++ 2005 para lançar o formulário dados.

Visual C++ .NET ou Visual C++ 2005 pode usar o controle de ActiveX de WebBrowser para enviar dados para um servidor HTTP, como o Microsoft Internet Information Services (IIS), usando o método Post .

Para postar dados, você pode usar o método Navigate do controle WebBrowser . Como alternativa, se os seguintes parâmetros são os parâmetros relevantes apenas, você poderá usar o método Navigate2 do controle WebBrowser para postar dados:
  • URL
  • postData
  • cabeçalhos
Quando você chamar o método Navigate para postar dados do formulário para um servidor HTTP, as seguintes condições devem ser verdadeiras:
  • O parâmetro URL deve especificar um endereço válido.
  • O parâmetro PostData deve conter uma matriz de bytes.
  • O parâmetro cabeçalhos deve conter uma seqüência contendo o HTTP seguinte cabeçalho:
    Content-Type: application/x-www-form-urlencoded
    esse cabeçalho indica que os dados que você lançar a estão codificados conforme a especificações de HTML.
O objeto de script do Microsoft Internet Explorer modelo tem um objeto de janela . Este objeto janela também tem um método Navigate . Este método Navigate aceita apenas uma URL. Você não pode usar esse método para enviar dados para um servidor Web.

back to the top

Criar uma página ASPX

Para testar o seguinte código de exemplo, salve o arquivo seguinte do Active Server Pages (.aspx) como o arquivo Navpost.aspx em um diretório do IIS. IIS reconhece o diretório como uma raiz virtual com as Permissões de execução opção habilitada para scripts.
<%@ Page language="vb"%> <HTML><%dim cFlavor As String dim cName As StringcFlavor = Request("Flavor")cName = Request("FName")%><BODY>Hello, <% =cName %>. <br>One scoop of <% =cFlavor %> coming right up!</BODY></HTML>
back to the top

Dados de formulário de postagem

Para ver um exemplo do método Post no Visual C++ .NET ou no Visual C++ 2005, execute as seguintes etapas:
  1. Use o Visual C++ .NET ou Visual C++ 2005 para criar um projeto Microsoft Windows Forms Application.

    Por padrão, o formulário de Form1 é criado.
  2. Adicione os seguintes controles no Form1:

    objeto nome texto
    RótuloIbINameNome
    RótuloIbIFLavorTipo
    BotãocmdSubmitEnviar
    Caixa de combinaçãocboFlavor
  3. No menu Exibir , clique em caixa de ferramentas .
  4. Clique com o botão direito da caixa de ferramentas e clique em Adicionar ou remover itens .

    A caixa de diálogo Customize Toolbox será exibida.

    Observação No Visual C++ 2005, clique com o botão direito da caixa de ferramentas e clique em Escolher itens . A caixa de diálogo Choose ToolBox Items é exibida.
  5. Na guia componentes COM , clique para selecionar a caixa de seleção do Microsoft Web Browser e, em seguida, clique em OK .
  6. Adicione um controle WebBrowser ao Form1.

    Por padrão, o controle axWebBrowser1 é adicionado ao Form1.
  7. Use a classe ASCIIEncoding para converter uma seqüência de caracteres em uma matriz de bytes. Como a classe ASCIIEncoding requer que você use o espaço para nome "System::Text", adicionar a instrução a seguir ao arquivo Form1.h para usar o namespace "System::Text":
    using namespace System::Text;
  8. No menu Exibir , clique em Propriedades janela .
  9. Adicione um manipulador de eventos Form1_Load ao Form1 e adicione um manipulador de evento cmdSubmit_Click ao Form1.
  10. No arquivo Form1.h, substitua o manipulador de eventos Form1_Load e o manipulador de evento cmdSubmit_Click com o seguinte código:

    Observação No Visual C++ 2005, "*"deve ser alterada para"^" no código a seguir. Além disso, o (S "xxx") deve ser alterada para ("xxx").

    código Form1_Load
    private: System::Void Form1_Load(System::Object *  sender, System::EventArgs *  e){    cboFlavor->Items->Add(new String(S"Vanilla"));    cboFlavor->Items->Add(new String(S"Chocolate"));    cboFlavor->Items->Add(new String(S"Strawberry"));    cboFlavor->SelectedIndex = 0;}
    cmdSubmit_Click código
    private: System::Void cmdSubmit_Click(System::Object *  sender,                                       System::EventArgs *  e){Object *vPost;Object *vHeaders;String *cParamFlavor;    String *cParamName;String *cSeparator;cParamFlavor = S"Flavor=";cSeparator = S"&";cParamName = S"FName=";String *cFlavor;String *cPostData;cFlavor = cboFlavor->Text;Object *oEmpty = new String(S"");Object *oURL= new String(S"http://localhost/navpost.aspx");cPostData = cParamName;cPostData = String::Concat(cPostData,textBox1->Text);cPostData = String::Concat(cPostData,cSeparator);cPostData = String::Concat(cPostData,cParamFlavor);cPostData = String::Concat(cPostData,cFlavor);vHeaders = String::Copy(S"Content-Type: application/x-www-form-urlencoded\n\r");vPost = ASCIIEncoding::ASCII->GetBytes(cPostData);axWebBrowser1->Navigate2(&oURL, &oEmpty, &oEmpty, &vPost, &vHeaders);}
    Observação você deve adicionar o common language runtime oferecem suporte a compilador opção ( / CLR: oldSyntax ) no Visual C++ 2005 a compilar com êxito este exemplo de código.

    Para fazer isso, execute as seguintes etapas:
    1. Clique em projeto e, em seguida, clique em propriedades ProjectName .

      Observação ProjectName representa o nome do projeto.
    2. Expanda Configuration Properties e, em seguida, clique em Geral .
    3. Clique para selecionar Common Language Runtime suporte, sintaxe antiga (/ CLR: oldSyntax) no projeto oferece suporte a Common Language Runtime definindo no painel à direita, clique em Aplicar e em seguida, clique em OK .
    Para obter mais informações sobre o common language runtime oferece suporte às opções de compilador, visite o seguinte site:
    /CLR (common Language Runtime Compilation)
    http://msdn2.microsoft.com/en-us/library/k8d11d4s.aspx
    Estas etapas se aplicam o artigo inteiro.
  11. Modificar o URL na chamada para o método Navigate2 conforme apropriado.
  12. No menu Debug , clique em Iniciar para executar o aplicativo.

    Form1 é exibida.
  13. Digite seu nome na caixa de texto nome , clique em um tipo e em seguida, clique em Enviar .

    Os dados de Form1 são lançados o servidor HTTP. A resposta aparece na janela navegador visível.
back to the top
Referências
Para obter mais informações sobre o controle WebBrowser e sobre os métodos, propriedades e eventos que o controle WebBrowser expõe, visite o seguinte site:back to the top

Aviso: este artigo foi traduzido automaticamente

Propriedades

ID do Artigo: 815725 - Última Revisão: 11/14/2007 06:26:28 - Revisão: 3.2

Microsoft Visual C++ .NET 2003 Standard Edition, Microsoft Visual C++ 2005 Express Edition

  • kbmt kbwindowsforms kbwebbrowser kbcominterop kbcomctrls kbhowtomaster KB815725 KbMtpt
Comentários