Como: Hospedar um controle ActiveX em um recurso de caixa de diálogo
Quando você usa Visual Studio Para criar controles ActiveX para dispositivos, você precisa adicionar algumas etapas adicionais. The Editor de recursos depende do controle que está sendo registrado no computador área de trabalho para manipulá-lo em time de design. Além disso, você não pode registrar os controles de dispositivo no computador de mesa. As etapas a seguir fornecem uma Alternativa time de experiência em projetos.Os procedimentos a seguir supõem que você já tem seu projeto ActiveX Control e projeto de host e você estiver hospedando o controle ActiveX em uma caixa de diálogo.
Observação: |
---|
Seu computador pode mostrar diferentes nomes ou localizações para alguns dos elementos de interface do usuário do Visual Studio nas instruções a seguir. A edição do Visual Studio que você possui e as configurações que você usa determinam esses elementos. Para obter mais informações, consulte Configurações do Visual Studio. |
Para adicionar controles ActiveX usando o editor de diálogo
No editor de diálogo abra a caixa de diálogo de projeto host.
From a Caixa de ferramentas, arrastar um controle personalizado para a caixa de diálogo.
Posição e dimensionar do controle personalizado na caixa de diálogo para refletir como você deseja que o controle ActiveX aparecer.
clicar com o botão direito do mouse no controle personalizado e, em seguida, clique em Propriedades.
No Classepropriedade , cole o GUID do controle ActiveX.Lembre-se de incluir as chaves "{…}".
In O gerenciador de soluções, clicar com o botão direito do mouse no arquivo de projeto nome.RC2 e, em seguida, clique em Exibir código.
No Adicionar recursos manualmente editados aqui seção, adicione o código a seguir.O controle personalizado requer uma seção de init do diálogo para exibir corretamente.O Sumário da seção init diálogo real não é usado.Lembre-se de substituir nome do projeto > com o nome do seu projeto.
IDD_<project name>_DIALOG DLGINIT BEGIN IDC_CUSTOM1, 0x376, 22, 0 0x0000, 0x0000, 0x0800, 0x0000, 0x094d, 0x0000, 0x043d, 0x0000, 0x0013, 0xcdcd, 0xcdcd, 0
Compile e execute seu projeto de host.Lembre-se de implantar e registrar o controle ActiveX no dispositivo de destino.
Para usar um método alternativo para hospedagem de controles ActiveX
Registrar a classe de janela AtlAxWin80 chamando AtlAxWinInit em algum momento no aplicativo.
Aplicativos ATL fazem isso no código de inicialização do módulo.Aplicativos Win32 devem chamar essa função no WinMain função. Para aplicativos MFC, siga estas etapas:
Right-click the project node in Solution Explorer, point to Add,and then click Class.
clicar Adicionar suporte ATL ao MFC (sob o título de dispositivo SMART).
Adicionar o AtlAxWinInit telefonar para a parte superior das InitInstance método da classe de aplicativo host.
Em um recurso de caixa de diálogo (sistema autônomo uma caixa de diálogo do ATL ou controle composto ou diálogo MFC):
arrastar um controle personalizado do Caixa de ferramentas.
conjunto a propriedade de classe de janela para AtlAxWin80.
conjunto a legenda para o GUID em chaves ou o progid.
Para o MFC, adicione atl.lib sistema autônomo entrada de link adicional.
Para o MFC, adicionar essas linhas para o Implantação | arquivos adicionais opção.Embora as linhas já existe para bibliotecas de vínculo dinâmico, eles precisam ser adicionadas para MFC bibliotecas vinculadas estaticamente.
msvcr80.dll|$(BINDIR)\$(INSTRUCTIONSET)\|%CSIDL_PROGRAM_FILES%\$(ProjectName)|0 atl80.dll|$(BINDIR)\$(INSTRUCTIONSET)\|%CSIDL_PROGRAM_FILES%\$(ProjectName)|0 msvcr80d.dll|$(BINDIR)\$(INSTRUCTIONSET)\|%CSIDL_PROGRAM_FILES%\$(ProjectName)|0