Compartilhar via


Exemplo do ATLBUTTON atributos: Demonstra um botão com Bitmaps para estados diferentes

O exemplo de atributos ATLBUTTON cria um botão que exibe-se com um dos três bitmaps diferentes, dependendo do seu estado.O botão tem um bitmap para o estado não enviado, o estado focalizar (quando o mouse se move sobre o botão) e o estado enviado.Bitmaps padrão são incluídos com o exemplo, mas você pode substituir essas propriedades para usar seus próprios bitmaps.

Este exemplo também demonstra o uso de vários IDL, COM e atributos do compilador.O atributo dispinterface é usado para colocar o despacho interface _ATLButton no arquivo atlbutn.idl.O atributo propputref é usado para permitir que referências a ser usado em vez de valores em funções PictureStatic PictureHover e PicturePush.O atributo de versão é demonstrado, entre outros atributos usados com freqüência.

Observação de segurança:

Este código de exemplo é fornecido para ilustrar um conceito e não deve ser usado em aplicativos ou sites da Web, pois ele não pode ilustrar sistema autônomo práticas de codificação mais seguras.Microsoft sistema autônomo sumes nenhuma responsabilidade por danos incidentais ou conseqüenciais deve o código de exemplo ser usado para fins diferentes de sistema autônomo se destina.

Para obter exemplos e instruções para instalá-los:

  • Sobre o Visual Studio Ajuda menu, clicar Exemplos.

    Para obter mais informações, consulte Localizando arquivos de exemplo.

  • A versão mais recente e a lista completa das Exemplos está disponível online a partir de O Visual Studio 2008 Exemplos página.

  • Você também pode localizar exemplos no disco rígido do seu computador.Por padrão, exemplos e um arquivo Leiame são copiados para uma pasta sob \programa Files\Visual Studio 9.0\Samples\.Para edições Express do Visual Studio, todos os exemplos estão localizados online.

Criando e executando o exemplo

Para compilação e executar esse exemplo

  1. em aberto atlbutn.sln de arquivo da solução.

  2. From a Compilação menu, clicar Criar solução.

  3. em aberto o contêiner de teste do controle ActiveX e inserir o controle (objeto CAtlButton).Para obter detalhes sobre como acessar o contêiner de teste e usá-lo para testar um controle, consulte Teste de propriedades e eventos com o contêiner de teste.

  4. em aberto a caixa de diálogo Propriedades da caixa do controle e, em seguida, associar uma imagem a cada um das propriedades listadas, navegando até a pasta de amostra, selecionando um arquivo BMP e clicando em Aplicar.

  5. Observe como a imagem exibido no controle é alterado se o ponteiro passa sobre ele, ou se o controle é clicado.

Atributos

Este exemplo usa os seguintes atributos:

coclass, padrão, dispinterface, dll, dual, event_source, helpstring, id, implements_category in, módulo, o nome, o objeto, out, pointer_default, progid, propget, propput, propputref, registration_script, retval, support_error_info, uuid, versão, vi_progid

Palavras-chave

Este exemplo utiliza as seguintes palavras-chave:

Apartment; ATLTRACE; AtlWaitWithMessageLoop; BEGIN_COM_MAP; BEGIN_CONNECTION_POINT_MAP; BEGIN_MSG_MAP; BEGIN_OBJECT_MAP; BEGIN_PROPERTY_MAP; CComCoClass; CComControl; CComControl::FireViewChange; CComControl::InPlaceActivate; CComModule::GetClassObject; CComModule::GetLockCount; CComModule::Init; CComModule::RegisterServer; CComModule::Term; CComModule::UnregisterServer; CComObjectRoot; CloseHandle; CoGetInterfaceAndReleaseStream; CoInitialize; COleControl::OnClick; COM_INTERFACE_ENTRY; COM_INTERFACE_ENTRY_IMPL_IID; CoMarshalInterThreadInterfaceInStream; CONNECTION_POINT_ENTRY; CProxy_ATLButton; CreateDIBPalette; CreatePalette; CreateThread; CTimer; DECLARE_HANDLE; DECLARE_REGISTRY_RESOURCEID; DIBNumColors; DisableThreadLibraryCalls; DLL_PROCESS_DETACH; END_COM_MAP; END_CONNECTION_POINT_MAP; END_MSG_MAP; END_OBJECT_MAP; END_PROPERTY_MAP; GetCursorPos; GetFileSize; GetWindow; GlobalAlloc; GlobalFree; GlobalLock; GlobalSize; GlobalUnlock; IConnectionPointContainerImpl; IConnectionPointImpl; IDispatchImpl; IObjectSafetyImpl; IOleControlImpl; IOleInPlaceActiveObjectImpl; IOleInPlaceObjectWindowlessImpl; IOleInPlaceObjectWindowlessImpl::InPlaceDeactivate; IOleObjectImpl; IPersistPropertyBagImpl; IPersistStreamInitImpl; IProvideClassInfo2Impl; IViewObjectExImpl; LPLOGPALETTE; MESSAGE_HANDLER; OBJECT_ENTRY; PaintDIB; PaletteSize; PROP_ENTRY; PtInRect; PutImage; ReadDIBFile; ReadFile; RealizePalette; ScreenToClient; SelectPalette; SetDIBitsToDevice; SetStretchBltMode; suspensão; StretchDIBits; TimerOff; TimerOn; Unlock; USES_CONVERSION

Observação:

Alguns dos exemplos, sistema autônomo esta, não foram modificados para refletir sistema autônomo alterações nos assistentes, bibliotecas e compilador Visual C++, mas ainda Demonstre sistema autônomo concluir a tarefa desejada.

Consulte também

Outros recursos

Exemplos de atributos do ATL