Compartilhar via


CImageList::DrawIndirect

Chamar essa função de membro para desenhar uma imagem de uma lista de imagem.

BOOL DrawIndirect( 
   IMAGELISTDRAWPARAMS* pimldp  
); 
BOOL DrawIndirect( 
   CDC* pDC, 
   int nImage, 
   POINT pt, 
   SIZE sz, 
   POINT ptOrigin, 
   UINT fStyle = ILD_NORMAL, 
   DWORD dwRop = SRCCOPY, 
   COLORREF rgbBack = CLR_DEFAULT, 
   COLORREF rgbFore = CLR_DEFAULT, 
   DWORD fState = ILS_NORMAL, 
   DWORD Frame = 0, 
   COLORREF crEffect = CLR_DEFAULT 
);

Parâmetros

  • pimldp
    Um ponteiro a estrutura de IMAGELISTDRAWPARAMS que contém informações sobre a operação de desenho.

  • pDC
    Um ponteiro para o contexto do dispositivo de destino. Você deve excluir este objeto de CDC quando você terminar com ele.

  • nImage
    O índice com base zero de imagem a ser desenhada.

  • pt
    Uma estrutura de PONTO que contém as coordenadas de x e y onde a imagem será desenhada.

  • sz
    Uma estrutura de TAMANHO que indica o tamanho da imagem a ser desenhada.

  • ptOrigin
    Uma estrutura de PONTO que contém as coordenadas x e y que especificam o canto superior esquerdo da operação de desenho em relação à imagem próprio. Os pixels de imagem que estão à esquerda acima da coordenada x e y coordenada não são desenhados.

  • fStyle
    Sinaliza especificar o estilo de desenho e, opcionalmente, a imagem de sobreposição. Consulte a seção comentários para obter informações sobre a sobreposição criar imagem. A implementação de opção MFC, ILD_NORMAL, desenha uma imagem usando a cor do plano de fundo para a lista de imagem. Se a cor do plano de fundo é o valor de CLR_NONE , a imagem é desenhada transparente usando uma máscara.

    Outros estilos possíveis são descritos no fStyle membro de estrutura de IMAGELISTDRAWPARAMS .

  • dwRop
    Valor especificando um código de quadriculação- operação. Esses códigos definem como os dados de cor para o retângulo de origem ficarão combinados com os dados de cor para que o retângulo alvo obtenha a cor final. Os MFC padrão, a implementação SRCCOPY, imprime o retângulo de origem diretamente ao retângulo alvo. Esse parâmetro é ignorado se o parâmetro de fStyle não inclui o sinalizador de ILD_ROP .

    Outros valores possíveis são descritos no dwRop membro de estrutura de IMAGELISTDRAWPARAMS .

  • rgbBack
    A cor do plano de fundo de imagem, por padrão CLR_DEFAULT. Este parâmetro pode ser um valor de RGB ou definido dos seguintes valores:

    Valor

    Significado

    CLR_DEFAULT

    Cor do plano de fundo padrão. A imagem é desenhada usando a cor do plano de fundo da lista de imagem.

    CLR_NONE

    Nenhuma cor de plano de fundo. a imagem é desenhada transparente.

  • rgbFore
    A imagem cor de primeiro plano, por padrão CLR_DEFAULT. Este parâmetro pode ser um valor de RGB ou definido dos seguintes valores:

    Valor

    Significado

    CLR_DEFAULT

    Padrão cor de primeiro plano. A imagem é desenhada usando a cor de realce do sistema como a cor de primeiro plano.

    CLR_NONE

    Nenhuma cor de combinação. A imagem é misto com a cor do contexto do dispositivo de destino.

    Esse parâmetro é usado somente se fStyle inclui o sinalizador de ILD_BLEND25 ou de ILD_BLEND50 .

  • fState
    Sinalizador que especifica o estado de desenho. Esse membro pode conter um ou vários sinalizadores de estado da lista de imagem.

  • Frame
    Afeta o comportamento de efeitos saturam e de Alpha- misturas.

    Quando usado com ILS_SATURATE, esse membro contém o valor que é adicionado a cada componente de objectiva encryption standard de cor RGB para cada pixel no ícone.

    Quando usado com ILS_APLHA, esse membro armazena o valor para o canal alfa. Esse valor pode ser de 0 a 255, com 0 que são completamente transparente, e 255 que são totalmente opacos.

  • crEffect
    Um valor de COLORREF usado para efeitos de brilho e de sombra.

Valor de retorno

Verdadeiro se a imagem é desenhada com êxito; se não Falso.

Comentários

Use a primeira versão se você deseja preencher a estrutura do Win32 você mesmo. Use a segunda versão se você deseja aproveitar de um ou mais dos argumentos de opção MFC, ou evite-a gerenciar a estrutura.

Uma imagem de sobreposição é uma imagem que é desenhada sobre a imagem especificada primária, em essa função de membro pelo parâmetro de nImage . Desenhar uma máscara de sobreposição usando a função de membro de Desenho com o índice baseado em um de máscara de sobreposição especificada usando a macro de INDEXTOOVERLAYMASK .

Exemplo

int i, dx, cx, cy, nCount = m_myImageList.GetImageCount();

::ImageList_GetIconSize(m_myImageList, &cx, &cy);

// Draw the images of the image list on the DC. 
for (dx = 0, i = 0; i < nCount; i++)
{
   m_myImageList.DrawIndirect(&dc, i, CPoint(dx, 0), 
      CSize(cx, cy), CPoint(0, 0));
   dx += cx;
}      

Requisitos

Cabeçalho: afxcmn.h

Consulte também

Referência

Classe CImageList

Gráfico da hierarquia

CImageList::SetOverlayImage