Freigeben über


CImageList::DrawIndirect

Rufen Sie die Memberfunktion auf, um ein Bild aus einer Bildliste zu zeichnen.

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 
);

Parameter

  • pimldp
    Ein Zeiger auf eine IMAGELISTDRAWPARAMS-Struktur, die Informationen über den Vorgang Videofunktionen enthält.

  • pDC
    Ein Zeiger auf Zielgerätekontext. Sie müssen dieses CDC-Objekt löschen, wenn Sie damit fertig sind.

  • nImage
    Der nullbasierte Index des zu zeichnenden Bilder.

  • pt
    Eine PUNKT-Struktur, die die x- und y-Koordinaten, in denen das Bild enthält, gezeichnet wird.

  • sz
    Eine GRÖSSE-Struktur, die die Größe des zu zeichnenden Bilds angibt.

  • ptOrigin
    Eine PUNKT-Struktur, die die x- und y-Koordinaten angeben die linke obere Ecke des Möglichkeiten in Bezug auf das Bild selbst enthält. Pixel im Bild, die auf der linken Seite der x-Koordinate und über die y-Koordinate sind, werden nicht gezeichnet.

  • fStyle
    Kennzeichnen Sie das Angeben des Zeichnungsformats und optional des Overlaybildern demonstriert. Weitere Informationen finden Sie in den Hinweisen auf Informationen über das Overlaybild. Die MFC-Standardimplementierung, ILD_NORMAL, zeichnet das Bild mit der Hintergrundfarbe der Bildliste. Wenn die Hintergrundfarbe der CLR_NONE-Wert ist, wird das Bild transparent mithilfe einer Maske gezeichnet.

    Andere mögliche Stile werden unter dem fStyle-Member der IMAGELISTDRAWPARAMS-Struktur beschrieben.

  • dwRop
    Wert, der einen RasterVorgang Code angibt. Diese Codes definieren, wie die Farbdaten für das Quellrechteck mit den Farbdaten kombiniert werden, sodass das Zielrechteck die endgültige Farbe erreicht. Standardimplementierung MFC, SRCCOPY, kopiert das Quellrechteck direkt an das Zielrechteck. Dieser Parameter wird ignoriert, wenn der fStyle-Parameter nicht ILD_ROP das Flag beinhaltet.

    Andere mögliche Werte werden unter dem dwRop-Member der IMAGELISTDRAWPARAMS-Struktur beschrieben.

  • rgbBack
    Die Imagehintergrundfarbe, standardmäßig CLR_DEFAULT. Dieser Parameter kann ein anwendungsdefinierter RGB-Wert oder der folgenden Werte sein:

    Wert

    Bedeutung

    CLR_DEFAULT

    Standardhintergrundfarbe. Das Bild wird mithilfe der Bildlistenhintergrundfarbe gezeichnet.

    CLR_NONE

    Keine Hintergrundfarbe. Das Bild wird transparent gezeichnet.

  • rgbFore
    Imagevordergrundfarbe, standardmäßig CLR_DEFAULT. Dieser Parameter kann ein anwendungsdefinierter RGB-Wert oder der folgenden Werte sein:

    Wert

    Bedeutung

    CLR_DEFAULT

    Standard Vordergrundfarbe. Das Bild wird mit der Hervorhebungsfarbe des Systems die Vordergrundfarbe gezeichnet.

    CLR_NONE

    Keine Übergangsfarbe. Das Bild wird mit der Farbe des Zielgerätekontexts gemischt.

    Dieser Parameter wird nur verwendet, wenn fStyle das ILD_BLEND25 oder ILD_BLEND50-Flag enthält.

  • fState
    Flag, das den Zeichnungszustand angibt. Dieser Member kann eine oder mehrere Bildlistenzustandsflags enthalten.

  • Frame
    Wirkt sich das Verhalten von sättigen und die Alphablendingeffekte.

    Wenn mit ILS_SATURATE verwendet wird, hält dieser Member den Wert an, der auf jedes Farbanteil der RGB-Dreiergruppe für jedes Pixel im Symbol hinzugefügt wird.

    Wenn mit ILS_APLHA verwendet wird, hält dieser Member den Wert für den Alphakanal an. Dieser Wert kann von 0 bis 255, wobei 0 vollständig transparent ist, und 255 jedoch vollständig deckend.

  • crEffect
    Ein Wert COLORREF verwendet für Leuchten und Schatteneffekte.

Rückgabewert

TRUE, wenn das Bild gezeichnet wird, erfolgreich andernfalls FALSE.

Hinweise

Verwenden Sie die erste Version, wenn Sie die Win32-Struktur füllen möchten. Verwenden Sie die zweite Version, wenn Sie eine oder mehrere von Standardargumenten MFC nutzen möchten, oder vermeiden Sie, die Struktur zu verwalten.

Ein Overlaybild ist ein Bild, das auf das primäre Bild, angegeben in dieser Memberfunktion durch den nImage-Parameter. Zeichnen Sie eine Overlaymaske, indem Sie die Zeichnen Sie-Memberfunktion mit dem einsbasierten Index der Overlaymaske verwenden, indem Sie das Makro INDEXTOOVERLAYMASK angegeben wird, verwenden.

Beispiel

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;
}      

Anforderungen

Header: afxcmn.h

Siehe auch

Referenz

CImageList-Klasse

Hierarchiediagramm

CImageList::SetOverlayImage