Como imagens usando controles de lista de imagem de sobreposição

Traduções deste artigo Traduções deste artigo
ID do artigo: 125629 - Exibir os produtos aos quais esse artigo se aplica.
Expandir tudo | Recolher tudo

Sumário

Listas de imagem fornecem uma maneira fácil de gerenciar um grupo de bitmaps e desenhar na tela, sem precisar se preocupar sobre chamar CreateCompatibleDC(), SelectObject(), BitBlt(), StretchBlt() e assim por diante.

Um recurso interessante que fornecem listas de imagem por meio da API ImageList_Draw() é a capacidade de sobreposição imagens--ou seja, para desenhar uma imagem transparente sobre outra imagem. Chamar ImageList_Draw() com o último parâmetro definido como um índice para uma máscara de sobreposição instrui a lista de imagem para desenhar uma imagem e a máscara de sobreposição na parte superior de desenhar.

Mais Informações

Para sobrepor imagens corretamente usando imagem listas, execute essas etapas:
  1. Crie um bitmap que terá as imagens que você deseja desenhar, bem como as imagens de sobreposição desejada desenhado na parte superior dessas imagens.

    Por exemplo, digamos que você tenha um bitmap de 16 x quatro 16 imagens:
    • um círculo verde
    • um círculo vermelho
    • um panda
    • um frog
  2. Criar uma lista imagem fora do bitmap tiver criado na etapa 1 usando ImageList_LoadImage() conforme mostrado aqui:
          hImageList = ImageList_LoadImage (hInst,
                                            "MyBitmap",
                                            16,
                                            4,
                                            RGB (255,0,0),
                                            IMAGE_BITMAP,
                                            0);
    					
  3. Decidir quais imagens você deseja especificar como máscaras de sobreposição e marca-los como tal usando a função ImageList_SetOverlayImage(). O código a seguir especifica o panda e o frog (com o índice baseado em 0, isso vem check-out para imagem 2 e 3) como sobrepor máscaras 1 e 2.

    Observação: Você só pode especificar até quatro sobreposição máscaras por lista de imagens.
          ImageList_SetOverlayImage (hImageList,
                                     2,     // 0-based index to image list.
                                     1);    // 1-based index to overlay mask.
    
    
          ImageList_SetOverlayImage (hImageList,
                                     3,     // 0-based index to image list.
                                     2);    // 1-based index to overlay mask.
    					
  4. Desenhe a imagem. O código a seguir desenha o círculo verde (ou imagem 0 na lista de imagens exemplo). Depois ele desenha o panda (imagem de sobreposição 1 no exemplo) na parte superior de it.
          ImageList_Draw (hImageList,
                          0,    // 0-based index to imageList of image to draw.
                          hDC,   // handle to a DC.
                          16, 16 // (x,y) location to draw.
                          INDEXTOOVERLAYMASK (1));   // Overlay image #1.
    					

Propriedades

ID do artigo: 125629 - Última revisão: segunda-feira, 11 de julho de 2005 - Revisão: 1.3
A informação contida neste artigo aplica-se a:
  • Microsoft Platform Software Development Kit-January 2000 Edition
Palavras-chave: 
kbmt kbctrl kbhowto kbimglist KB125629 KbMtpt
Tradução automática
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: 125629

Submeter comentários

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com