CImageList-KlasseCImageList Class

Stellt die Funktionalität des allgemeinen Windows-Bildlisten-Steuerelements bereit.Provides the functionality of the Windows common image list control.

SyntaxSyntax

class CImageList : public CObject

MemberMembers

Öffentliche KonstruktorenPublic Constructors

NameName BeschreibungDescription
CImageList::CImageListCImageList::CImageList Erstellt ein CImageList-Objekt.Constructs a CImageList object.

Öffentliche MethodenPublic Methods

NameName BeschreibungDescription
CImageList::AddCImageList::Add Fügt einer Bildliste ein Bild oder Bilder hinzu.Adds an image or images to an image list.
CImageList::AttachCImageList::Attach Fügt eine Bildliste an ein CImageList -Objekt an.Attaches an image list to a CImageList object.
CImageList::BeginDragCImageList::BeginDrag Startet das Ziehen eines Bilds.Begins dragging an image.
CImageList::CopyCImageList::Copy Kopiert ein Bild in einem CImageList -Objekt.Copies an image within a CImageList object.
CImageList::CreateCImageList::Create Initialisiert eine Bildliste und fügt Sie an ein CImageList -Objekt an.Initializes an image list and attaches it to a CImageList object.
CImageList::DeleteImageListCImageList::DeleteImageList Löscht eine Bildliste.Deletes an image list.
CImageList::DeleteTempMapCImageList::DeleteTempMap Wird vom CWinApp -Leerlaufzeit Handler aufgerufen, um ein temporäres CImageList Objekt zu löschen, das von FromHandleerstellt wurde.Called by the CWinApp idle-time handler to delete any temporary CImageList object created by FromHandle.
CImageList::DetachCImageList::Detach Trennt ein Bildlisten Objekt von einem CImageList -Objekt und gibt ein Handle für eine Bildliste zurück.Detaches an image list object from a CImageList object and returns a handle to an image list.
CImageList::DragEnterCImageList::DragEnter Sperrt Updates während eines Zieh Vorgangs und zeigt das Zieh Bild an einer angegebenen Position an.Locks updates during a drag operation and displays the drag image at a specified position.
CImageList::DragLeaveCImageList::DragLeave Entsperrt das Fenster und blendet das Zieh Bild aus, sodass das Fenster aktualisiert werden kann.Unlocks the window and hides the drag image so that the window can be updated.
CImageList::DragMoveCImageList::DragMove Verschiebt das Bild, das gezogen wird, während eines Drag & Drop-Vorgangs.Moves the image that is being dragged during a drag-and-drop operation.
CImageList::DragShowNolockCImageList::DragShowNolock Zeigt das Zieh Bild während eines Zieh Vorgangs an oder blendet es aus, ohne das Fenster zu sperren.Shows or hides the drag image during a drag operation, without locking the window.
CImageList::DrawCImageList::Draw Zeichnet das Bild, das während eines Drag & Drop-Vorgangs gezogen wird.Draws the image that is being dragged during a drag-and-drop operation.
CImageList::DrawExCImageList::DrawEx Zeichnet ein Bildlisten Element im angegebenen Gerätekontext.Draws an image list item in the specified device context. Die-Funktion verwendet die angegebene Zeichnungs Art und kombiniert das Bild mit der angegebenen Farbe.The function uses the specified drawing style and blends the image with the specified color.
CImageList::DrawIndirectCImageList::DrawIndirect Zeichnet ein Bild aus einer Bildliste.Draws an image from an image list.
CImageList::EndDragCImageList::EndDrag Beendet einen Zieh Vorgang.Ends a drag operation.
CImageList::ExtractIconCImageList::ExtractIcon Erstellt ein Symbol auf der Grundlage eines Bilds und einer Maske in einer Bildliste.Creates an icon based on an image and mask in an image list.
CImageList::FromHandleCImageList::FromHandle Gibt einen Zeiger auf ein CImageList -Objekt zurück, wenn ein Handle für eine Bildliste angegeben ist.Returns a pointer to a CImageList object when given a handle to an image list. Wenn ein CImageList-Objekt nicht an das Handle angefügt ist, wird ein temporäres CImageList-Objekt erstellt und angefügt.If a CImageList object is not attached to the handle, a temporary CImageList object is created and attached.
CImageList::FromHandlePermanentCImageList::FromHandlePermanent Gibt einen Zeiger auf ein CImageList -Objekt zurück, wenn ein Handle für eine Bildliste angegeben ist.Returns a pointer to a CImageList object when given a handle to an image list. Wenn ein CImageList -Objekt nicht an das Handle angefügt ist, wird NULL zurückgegeben.If a CImageList object is not attached to the handle, NULL is returned.
CImageList::GetBkColorCImageList::GetBkColor Ruft die aktuelle Hintergrundfarbe für eine Bildliste ab.Retrieves the current background color for an image list.
CImageList::GetDragImageCImageList::GetDragImage Ruft die temporäre Bildliste ab, die für das Ziehen verwendet wird.Gets the temporary image list that is used for dragging.
CImageList::GetImageCountCImageList::GetImageCount Ruft die Anzahl der Bilder in einer Bildliste ab.Retrieves the number of images in an image list.
CImageList::GetImageInfoCImageList::GetImageInfo Ruft Informationen zu einem Bild ab.Retrieves information about an image.
CImageList::GetSafeHandleCImageList::GetSafeHandle Ruft ab m_hImageList.Retrieves m_hImageList.
CImageList::ReadCImageList::Read Liest eine Bildliste aus einem Archiv.Reads an image list from an archive.
CImageList::RemoveCImageList::Remove Entfernt ein Bild aus einer Bildliste.Removes an image from an image list.
CImageList::ReplaceCImageList::Replace Ersetzt ein Bild in einer Bildliste durch ein neues Bild.Replaces an image in an image list with a new image.
CImageList::SetBkColorCImageList::SetBkColor Legt die Hintergrundfarbe für eine Bildliste fest.Sets the background color for an image list.
CImageList::SetDragCursorImageCImageList::SetDragCursorImage Erstellt ein neues Zieh Bild.Creates a new drag image.
CImageList::SetImageCountCImageList::SetImageCount Setzt die Anzahl der Bilder in einer Bildliste zurück.Resets the count of images in an image list.
CImageList::SetOverlayImageCImageList::SetOverlayImage Fügt der Liste der Bilder, die als Überlagerungs Masken verwendet werden sollen, den NULL basierten Index eines Bilds hinzu.Adds the zero-based index of an image to the list of images to be used as overlay masks.
CImageList::WriteCImageList::Write Schreibt eine Bildliste in ein Archiv.Writes an image list to an archive.

Öffentliche OperatorenPublic Operators

NameName BeschreibungDescription
CImageList:: Operator HIMAGELISTCImageList::operator HIMAGELIST Gibt die an CImageListangefügte HIMAGELIST zurück.Returns the HIMAGELIST attached to the CImageList.

Öffentliche DatenmemberPublic Data Members

NameName BeschreibungDescription
CImageList::m_hImageListCImageList::m_hImageList Ein Handle, das die an dieses-Objekt angefügte Bildliste enthält.A handle containing the image list attached to this object.

HinweiseRemarks

Eine "Bildliste" ist eine Sammlung von Bildern gleicher Größe, auf die jeweils durch den NULL basierten Index verwiesen werden kann.An "image list" is a collection of same-sized images, each of which can be referred to by its zero-based index. Bildlisten werden verwendet, um große Mengen von Symbolen oder Bitmaps effizient zu verwalten.Image lists are used to efficiently manage large sets of icons or bitmaps. Alle Bilder in einer Bildliste sind in einer einzelnen, breiten Bitmap im Bildschirmformat enthalten.All images in an image list are contained in a single, wide bitmap in screen device format. Eine Bildliste kann auch eine monochrome Bitmap enthalten, die Masken enthält, mit denen Bilder transparent gezeichnet werden (Symbol Stil).An image list may also include a monochrome bitmap that contains masks used to draw images transparently (icon style). Die Microsoft Win32-API (Application Programming Interface) stellt Bildlisten Funktionen bereit, mit denen Sie Bilder zeichnen, Bildlisten erstellen und zerstören, Bilder hinzufügen und entfernen, Bilder ersetzen, Bilder zusammenführen und Bilder ziehen können.The Microsoft Win32 application programming interface (API) provides image list functions that enable you to draw images, create and destroy image lists, add and remove images, replace images, merge images, and drag images.

Dieses Steuerelement (und damit CImageList auch die-Klasse) ist nur für Programme verfügbar, die unter Windows 95/98 und Windows NT, Version 3,51 und höher, ausgeführt werden.This control (and therefore the CImageList class) is available only to programs running under Windows 95/98 and Windows NT version 3.51 and later.

Weitere Informationen zum Verwenden von CImageListfinden Sie unter Steuer Elemente und Verwenden von CImageList.For more information on using CImageList, see Controls and Using CImageList.

VererbungshierarchieInheritance Hierarchy

CObjectCObject

CImageList

AnforderungenRequirements

Header: afxcmn.hHeader: afxcmn.h

CImageList:: AddCImageList::Add

Mit dieser Funktion können Sie einer Bildliste ein oder mehrere Bilder oder ein Symbol hinzufügen.Call this function to add one or more images or an icon to an image list.

int Add(
    CBitmap* pbmImage,
    CBitmap* pbmMask);

int Add(
    CBitmap* pbmImage,
    COLORREF crMask);

int Add(HICON hIcon);

ParameterParameters

pbmImagepbmImage
Ein Zeiger auf die Bitmap, die das Bild oder die Bilder enthält.Pointer to the bitmap containing the image or images. Die Anzahl der Bilder wird von der Breite der Bitmap abgeleitet.The number of images is inferred from the width of the bitmap.

pbmMaskpbmMask
Ein Zeiger auf die Bitmap, die die Maske enthält.Pointer to the bitmap containing the mask. Wenn keine Maske mit der Bildliste verwendet wird, wird dieser Parameter ignoriert.If no mask is used with the image list, this parameter is ignored.

crMaskcrMask
Die zum Generieren der Maske verwendete Farbe.Color used to generate the mask. Jedes Pixel dieser Farbe in der angegebenen Bitmap wird in Schwarz geändert, und das entsprechende Bit in der Maske wird auf 1 festgelegt.Each pixel of this color in the given bitmap is changed to black and the corresponding bit in the mask is set to one.

hIconhIcon
Handle des Symbols, das die Bitmap und Maske für das neue Bild enthält.Handle of the icon that contains the bitmap and mask for the new image.

RückgabewertReturn Value

NULL basierter Index des ersten neuen Bilds, wenn erfolgreich. andernfalls-1.Zero-based index of the first new image if successful; otherwise - 1.

HinweiseRemarks

Sie sind verantwortlich für das Freigeben des Symbol Handles, wenn Sie damit abgeschlossen sind.You are responsible for releasing the icon handle when you are done with it.

BeispielExample

// Add my icons.
m_myImageList.Add(AfxGetApp()->LoadIcon(IDI_ICON1));
m_myImageList.Add(AfxGetApp()->LoadIcon(IDI_ICON2));

// Add my bitmap, make all black pixels transparent.
CBitmap bm;
bm.LoadBitmap(IDB_BITMAP1);
m_myImageList.Add(&bm, RGB(0, 0, 0));

CImageList:: AttachCImageList::Attach

Mit dieser Funktion können Sie eine Bildliste an ein CImageList -Objekt anfügen.Call this function to attach an image list to a CImageList object.

BOOL Attach(HIMAGELIST hImageList);

ParameterParameters

hImageListhImageList
Ein Handle für ein Bildlisten Objekt.A handle to an image list object.

RückgabewertReturn Value

Ungleich 0 (null), wenn die Anlage erfolgreich war. andernfalls 0.Nonzero if the attachment was successful; otherwise 0.

BeispielExample

void AddQuestion(HIMAGELIST hmyImageList)
{
   CImageList imgList;

   // Attach the image list handle to the CImageList object.
   imgList.Attach(hmyImageList);

   // Add a new icon to the image list.
   imgList.Add(AfxGetApp()->LoadStandardIcon(IDI_QUESTION));

   // Detach the handle from the CImageList object.
   imgList.Detach();
}

CImageList:: BeginDragCImageList::BeginDrag

Mit dieser Funktion können Sie mit dem Ziehen eines Bilds beginnen.Call this function to begin dragging an image.

BOOL BeginDrag(
    int nImage,
    CPoint ptHotSpot);

ParameterParameters

nImagenImage
Der null basierte Index des zu ziehenden Bilds.Zero-based index of the image to drag.

ptHotSpotptHotSpot
Koordinaten der Anfangs Zieh Position (in der Regel die Cursorposition).Coordinates of the starting drag position (typically, the cursor position). Die Koordinaten sind relativ zur linken oberen Ecke des Bilds.The coordinates are relative to the upper left corner of the image.

RückgabewertReturn Value

Ungleich Null, wenn erfolgreich, andernfalls 0 (Null).Nonzero if successful; otherwise 0.

HinweiseRemarks

Diese Funktion erstellt eine temporäre Bildliste, die für das Ziehen verwendet wird.This function creates a temporary image list that is used for dragging. Das Bild kombiniert das angegebene Bild und seine Maske mit dem aktuellen Cursor.The image combines the specified image and its mask with the current cursor. Als Reaktion auf nachfolgende WM_MOUSEMOVE-Nachrichten können Sie das Zieh Bild mithilfe der DragMove Member-Funktion verschieben.In response to subsequent WM_MOUSEMOVE messages, you can move the drag image by using the DragMove member function. Um den Zieh Vorgang zu beenden, können Sie die EndDrag -Member-Funktion verwenden.To end the drag operation, you can use the EndDrag member function.

BeispielExample

void CImageListDlg::OnLButtonDown(UINT nFlags, CPoint point)
{
   // Initialize the drag image (usually called from WM_LBUTTONDOWN).
   m_myImageList.BeginDrag(0, CPoint(0, 0));
   m_myImageList.DragEnter(this, point);

   CDialog::OnLButtonDown(nFlags, point);
}

CImageList:: CImageListCImageList::CImageList

Erstellt ein CImageList-Objekt.Constructs a CImageList object.

CImageList();

CImageList:: CopyCImageList::Copy

Diese Member-Funktion implementiert das Verhalten der Win32-Funktion ImageList_Copy, wie im Windows SDK beschrieben.This member function implements the behavior of the Win32 function ImageList_Copy, as described in the Windows SDK.

BOOL Copy(
    int iDst,
    int iSrc,
    UINT uFlags = ILCF_MOVE);

BOOL Copy(
    int iDst,
    CImageList* pSrc,
    int iSrc,
    UINT uFlags = ILCF_MOVE);

ParameterParameters

iDstiDst
Der null basierte Index des Bilds, das als Ziel des Kopiervorgangs verwendet werden soll.The zero-based index of the image to be used as the destination of the copy operation.

iSrciSrc
Der null basierte Index des Bilds, das als Quelle für den Kopiervorgang verwendet werden soll.The zero-based index of the image to be used as the source of the copy operation.

uFlagsuFlags
Der bitflagwert, der den Typ des Kopiervorgangs angibt, der erstellt werden soll.The bit flag value that specifies the type of copy operation to be made. Dieser Parameter kann einen der folgenden Werte aufweisen:This parameter can be one of the following values:

WertValue BedeutungMeaning
ILCF_MOVEILCF_MOVE Das Quellbild wird in den Index des Ziel Images kopiert.The source image is copied to the destination image's index. Dieser Vorgang führt zu mehreren Instanzen eines bestimmten Bilds.This operation results in multiple instances of a given image. ILCF_MOVE ist die Standardeinstellung.ILCF_MOVE is the default.
ILCF_SWAPILCF_SWAP Die Quell-und Ziel Images tauschen Positionen in der Bildliste aus.The source and destination images exchange positions within the image list.

pSrcpSrc
Ein Zeiger auf ein CImageList -Objekt, das das Ziel des Kopiervorgangs ist.A pointer to a CImageList object that is the target of the copy operation.

RückgabewertReturn Value

Ungleich 0, wenn erfolgreich, andernfalls 0.Nonzero if successful; otherwise zero.

BeispielExample

CImageList myImageList2;
myImageList2.Create(32, 32, ILC_COLOR8, 0, 4);

// Copy the first image from myImageList2 and make it
// the first image of m_myImageList.
m_myImageList.Copy(0, &myImageList2, 0, ILCF_MOVE);

// Recopy the image to make it also the last image in m_myImageList.
m_myImageList.Copy(m_myImageList.GetImageCount() - 1, (int)0,
                   (UINT)ILCF_MOVE);

CImageList:: CreateCImageList::Create

Initialisiert eine Bildliste und fügt Sie an ein CImageList -Objekt an.Initializes an image list and attaches it to a CImageList object.

BOOL Create(
    int cx,
    int cy,
    UINT nFlags,
    int nInitial,
    int nGrow);

BOOL Create(
    UINT nBitmapID,
    int cx,
    int nGrow,
    COLORREF crMask);

BOOL Create(
    LPCTSTR lpszBitmapID,
    int cx,
    int nGrow,
    COLORREF crMask);

BOOL Create(
    CImageList& imagelist1,
    int nImage1,
    CImageList& imagelist2,
    int nImage2,
    int dx,
    int dy);

BOOL Create(CImageList* pImageList);

ParameterParameters

verschobencx
Dimensionen jedes Bilds in Pixel.Dimensions of each image, in pixels.

CYcy
Dimensionen jedes Bilds in Pixel.Dimensions of each image, in pixels.

nFlagsnFlags
Gibt den Typ der zu erstellenden Bildliste an.Specifies the type of image list to create. Dieser Parameter kann eine Kombination der folgenden Werte sein, kann jedoch nur einen ILC_COLOR der-Werte einschließen.This parameter can be a combination of the following values, but it can include only one of the ILC_COLOR values.

WertValue BedeutungMeaning
ILC_COLORILC_COLOR Verwenden Sie das Standardverhalten, wenn keines der anderen ILC_COLOR *-Flags angegeben wird.Use the default behavior if none of the other ILC_COLOR* flags is specified. In der Regel ist der Standardwert ILC_COLOR4; für ältere Anzeigetreiber lautet der Standardwert ILC_COLORDDB.Typically, the default is ILC_COLOR4; but for older display drivers, the default is ILC_COLORDDB.
ILC_COLOR4ILC_COLOR4 Verwenden Sie einen (16) geräteunabhängigen Bitmap-Abschnitt (DIB), der als Bitmap für die Bildliste verwendet wird.Use a 4-bit (16 color) device-independent bitmap (DIB) section as the bitmap for the image list.
ILC_COLOR8ILC_COLOR8 Verwenden Sie einen 8-Bit-DIB-Abschnitt.Use an 8-bit DIB section. Die Farben, die für die Farbtabelle verwendet werden, entsprechen den Farben der halbftone-Palette.The colors used for the color table are the same colors as the halftone palette.
ILC_COLOR16ILC_COLOR16 Verwenden Sie einen 16-Bit-DIB-Abschnitt (32/64K-Farbe).Use a 16-bit (32/64k color) DIB section.
ILC_COLOR24ILC_COLOR24 Verwenden Sie einen 24-Bit-DIB-Abschnitt.Use a 24-bit DIB section.
ILC_COLOR32ILC_COLOR32 Verwenden Sie einen 32-Bit-DIB-Abschnitt.Use a 32-bit DIB section.
ILC_COLORDDBILC_COLORDDB Verwenden Sie eine Geräte abhängige Bitmap.Use a device-dependent bitmap.
ILC_MASKILC_MASK Verwendet eine Maske.Uses a mask. Die Bildliste enthält zwei Bitmaps, von denen eine eine monochrome Bitmap ist, die als Maske verwendet wird.The image list contains two bitmaps, one of which is a monochrome bitmap used as a mask. Wenn dieser Wert nicht eingeschlossen ist, enthält die Bildliste nur eine Bitmap.If this value is not included, the image list contains only one bitmap. Weitere Informationen zu maskierten Bildern finden Sie unterzeichnen von Bildern aus einer Bildliste .See Drawing Images from an Image List for additional information on masked images.

nInitialnInitial
Anzahl der Images, die in der Bildliste anfänglich enthalten sind.Number of images that the image list initially contains.

nGrownGrow
Anzahl der Images, mit denen die Bildliste vergrößert werden kann, wenn das System die Größe der Liste ändern muss, um Platz für neue Images zu schaffen.Number of images by which the image list can grow when the system needs to resize the list to make room for new images. Dieser Parameter stellt die Anzahl der neuen Bilder dar, die in der Bildliste mit Größenänderung enthalten sein können.This parameter represents the number of new images the resized image list can contain.

nBitmapIDnBitmapID
Ressourcen-IDs der Bitmap, die der Bildliste zugeordnet werden soll.Resource IDs of the bitmap to be associated with the image list.

crMaskcrMask
Die zum Generieren einer Maske verwendete Farbe.Color used to generate a mask. Jedes Pixel dieser Farbe in der angegebenen Bitmap wird in Schwarz geändert, und das entsprechende Bit in der Maske wird auf 1 festgelegt.Each pixel of this color in the specified bitmap is changed to black, and the corresponding bit in the mask is set to one.

lpszBitmapIDlpszBitmapID
Eine Zeichenfolge, die die Ressourcen-IDs der Bilder enthält.A string containing the resource IDs of the images.

imagelist1imagelist1
Ein Verweis auf ein CImageList-Objekt.A reference to a CImageList object.

nImage1nImage1
Der Index des ersten vorhandenen Bilds.Index of the first existing image.

imagelist2imagelist2
Ein Verweis auf ein CImageList-Objekt.A reference to a CImageList object.

nImage2nImage2
Index des zweiten vorhandenen Bilds.Index of the second existing image.

Marketdx
Offset der x-Achse des zweiten Bilds in Beziehung zum ersten Bild in Pixel.Offset of the x-axis of the second image in relationship to the first image, in pixels.

dydy
Offset der y-Achse des zweiten Bilds in Beziehung zum ersten Bild in Pixel.Offset of the y-axis of the second image in relationship to the first image, in pixels.

pImageListpImageList
Ein Zeiger auf ein CImageList -Objekt.A pointer to a CImageList object.

RückgabewertReturn Value

Ungleich Null, wenn erfolgreich, andernfalls 0 (Null).Nonzero if successful; otherwise 0.

HinweiseRemarks

Sie erstellen einen CImageList in zwei Schritten.You construct a CImageList in two steps. Zuerst wird der-Konstruktor aufgerufen und dann Createaufgerufen, wodurch die Bildliste erstellt und an das CImageList -Objekt angefügt wird.First, call the constructor and then call Create, which creates the image list and attaches it to the CImageList object.

BeispielExample

m_myImageList.Create(32, 32, ILC_COLOR8, 0, 4);

CImageList::D eleteimagelistCImageList::DeleteImageList

Mit dieser Funktion können Sie eine Bildliste löschen.Call this function to delete an image list.

BOOL DeleteImageList();

RückgabewertReturn Value

Ungleich Null, wenn erfolgreich, andernfalls 0 (Null).Nonzero if successful; otherwise 0.

BeispielExample

// Delete the image list and verify.
myImageList2.DeleteImageList();
ASSERT(myImageList2.GetSafeHandle() == NULL);

CImageList::D eletetempmapCImageList::DeleteTempMap

Wird automatisch CWinApp vom Leerlaufzeit Handler aufgerufen, DeleteTempMap löscht alle temporären, CImageList von FromHandleerstellten temporären Objekte, zerstört jedoch keine Handles ( hImageList), die vorübergehend mit dem ImageList Gütern.Called automatically by the CWinApp idle-time handler, DeleteTempMap deletes any temporary CImageList objects created by FromHandle, but does not destroy any handles ( hImageList) temporarily associated with the ImageList objects.

static void PASCAL DeleteTempMap();

BeispielExample

// Note that this is a static member so an instantiated CImageList
// object is unnecessary.
CImageList::DeleteTempMap();

CImageList::D EtachCImageList::Detach

Mit dieser Funktion können Sie ein Bildlisten Objekt von einem CImageList -Objekt trennen.Call this function to detach an image list object from a CImageList object.

HIMAGELIST Detach();

RückgabewertReturn Value

Ein Handle für ein Bildlisten Objekt.A handle to an image list object.

HinweiseRemarks

Diese Funktion gibt ein Handle für das Image List-Objekt zurück.This function returns a handle to the image list object.

BeispielExample

Weitere Informationen finden Sie im Beispiel für CImageList:: Attach.See the example for CImageList::Attach.

CImageList::D ragenterCImageList::DragEnter

Während eines Zieh Vorgangs sperrt Updates für das von pwndlock angegebene Fenster und zeigt das Zieh Bild an der durch Punktangegebenen Position an.During a drag operation, locks updates to the window specified by pWndLock and displays the drag image at the position specified by point.

static BOOL PASCAL DragEnter(
    CWnd* pWndLock,
    CPoint point);

ParameterParameters

pWndLockpWndLock
Zeiger auf das Fenster, das das Zieh Bild besitzt.Pointer to the window that owns the drag image.

pointpoint
Die Position, an der das Zieh Bild angezeigt werden soll.Position at which to display the drag image. Die Koordinaten sind relativ zur linken oberen Ecke des Fensters (nicht zum Client Bereich).Coordinates are relative to the upper left corner of the window (not the client area).

RückgabewertReturn Value

Ungleich Null, wenn erfolgreich, andernfalls 0 (Null).Nonzero if successful; otherwise 0.

HinweiseRemarks

Die Koordinaten sind relativ zur oberen linken Ecke des Fensters, sodass Sie die Breite der Fensterelemente, wie z. b. den Rahmen, die Titelleiste und die Menüleiste, beim Angeben der Koordinaten ausgleichen müssen.The coordinates are relative to the window's upper left corner, so you must compensate for the widths of window elements, such as the border, title bar, and menu bar, when specifying the coordinates.

Wenn pwndlock den Wert NULL hat, zeichnet diese Funktion das Bild im dem Desktop Fenster zugeordneten Anzeige Kontext, und die Koordinaten sind relativ zur oberen linken Ecke des Bildschirms.If pWndLock is NULL, this function draws the image in the display context associated with the desktop window, and coordinates are relative to the upper left corner of the screen.

Diese Funktion sperrt alle anderen Updates für das angegebene Fenster während des Zieh Vorgangs.This function locks all other updates to the given window during the drag operation. Wenn Sie während eines Zieh Vorgangs eine Zeichnung durchführen müssen, z. b. das Ziel eines Drag & Drop-Vorgangs, können Sie das gezogene Bild temporär ausblenden, indem Sie die CImageList::D ragleave -Funktion verwenden.If you need to do any drawing during a drag operation, such as highlighting the target of a drag-and-drop operation, you can temporarily hide the dragged image by using the CImageList::DragLeave function.

BeispielExample

Weitere Informationen finden Sie im Beispiel für CImageList:: BeginDrag.See the example for CImageList::BeginDrag.

CImageList::D ragleaveCImageList::DragLeave

Entsperrt das von pwndlock angegebene Fenster und blendet das Zieh Bild aus, sodass das Fenster aktualisiert werden kann.Unlocks the window specified by pWndLock and hides the drag image, allowing the window to be updated.

static BOOL PASCAL DragLeave(CWnd* pWndLock);

ParameterParameters

pWndLockpWndLock
Zeiger auf das Fenster, das das Zieh Bild besitzt.Pointer to the window that owns the drag image.

RückgabewertReturn Value

Ungleich Null, wenn erfolgreich, andernfalls 0 (Null).Nonzero if successful; otherwise 0.

BeispielExample

Weitere Informationen finden Sie im Beispiel für CImageList:: EndDrag.See the example for CImageList::EndDrag.

CImageList::D ragmoveCImageList::DragMove

Diese Funktion wird aufgerufen, um das Bild zu verschieben, das während eines Drag & Drop-Vorgangs gezogen wird.Call this function to move the image that is being dragged during a drag-and-drop operation.

static BOOL PASCAL DragMove(CPoint pt);

ParameterParameters

ptpt
Neue Zieh Position.New drag position.

RückgabewertReturn Value

Ungleich Null, wenn erfolgreich, andernfalls 0 (Null).Nonzero if successful; otherwise 0.

HinweiseRemarks

Diese Funktion wird in der Regel als Reaktion auf eine WM_MOUSEMOVE-Nachricht aufgerufen.This function is typically called in response to a WM_MOUSEMOVE message. Um einen Zieh Vorgang zu starten, verwenden BeginDrag Sie die-Member-Funktion.To begin a drag operation, use the BeginDrag member function.

BeispielExample

void CImageListDlg::OnMouseMove(UINT nFlags, CPoint point)
{
   m_myImageList.DragMove(point);

   CDialog::OnMouseMove(nFlags, point);
}

CImageList::D ragshownolockCImageList::DragShowNolock

Zeigt das Zieh Bild während eines Zieh Vorgangs an oder blendet es aus, ohne das Fenster zu sperren.Shows or hides the drag image during a drag operation, without locking the window.

static BOOL PASCAL DragShowNolock(BOOL bShow);

ParameterParameters

bShowbShow
Gibt an, ob das Zieh Bild angezeigt werden soll.Specifies whether the drag image is to be shown.

RückgabewertReturn Value

Ungleich Null, wenn erfolgreich, andernfalls 0 (Null).Nonzero if successful; otherwise 0.

HinweiseRemarks

Die Funktion CImageList::D ragenter sperrt alle Updates für das Fenster während eines Zieh Vorgangs.The CImageList::DragEnter function locks all updates to the window during a drag operation. Diese Funktion sperrt das Fenster jedoch nicht.This function, however, does not lock the window.

CImageList::D RAWCImageList::Draw

Mit dieser Funktion wird das Bild gezeichnet, das während eines Drag & Drop-Vorgangs gezogen wird.Call this function to draw the image that is being dragged during a drag-and-drop operation.

BOOL Draw(
    CDC* pDC,
    int nImage,
    POINT pt,
    UINT nStyle);

ParameterParameters

pDCpDC
Zeiger auf den Zielgeräte Kontext.Pointer to the destination device context.

nImagenImage
Der null basierte Index des zu zeichnenden Bilds.Zero-based index of the image to draw.

ptpt
Der Speicherort, an dem im angegebenen Gerätekontext gezeichnet werden soll.Location at which to draw within the specified device context.

nStylenStyle
Flag zum Angeben der Zeichnungs Art.Flag specifying the drawing style. Es kann sich um einen oder mehrere der folgenden Werte handeln:It can be one or more of these values:

WertValue BedeutungMeaning
ILD_BLEND25, ILD_FOCUSILD_BLEND25, ILD_FOCUS Zeichnet das Bild, wobei 25 Prozent mit der Hervorhebungs Farbe des Systems kombiniert werden.Draws the image, blending 25 percent with the system highlight color. Dieser Wert hat keine Auswirkung, wenn die Bildliste keine Maske enthält.This value has no effect if the image list does not contain a mask.
ILD_BLEND50, ILD_SELECTED, ILD_BLENDILD_BLEND50, ILD_SELECTED, ILD_BLEND Zeichnet das Bild, wobei 50 Prozent mit der Hervorhebungs Farbe des Systems kombiniert werden.Draws the image, blending 50 percent with the system highlight color. Dieser Wert hat keine Auswirkung, wenn die Bildliste keine Maske enthält.This value has no effect if the image list does not contain a mask.
ILD_MASKILD_MASK Zeichnet die Maske.Draws the mask.
ILD_NORMALILD_NORMAL Zeichnet das Bild mithilfe der Hintergrundfarbe für die Bildliste.Draws the image using the background color for the image list. Wenn die Hintergrundfarbe der CLR_NONE-Wert ist, wird das Bild transparent mithilfe der Maske gezeichnet.If the background color is the CLR_NONE value, the image is drawn transparently using the mask.
ILD_TRANSPARENTILD_TRANSPARENT Zeichnet das Bild unabhängig von der Hintergrundfarbe transparent mithilfe der Maske.Draws the image transparently using the mask, regardless of the background color.

RückgabewertReturn Value

Ungleich Null, wenn erfolgreich, andernfalls 0 (Null).Nonzero if successful; otherwise 0.

BeispielExample

Weitere Informationen finden Sie im Beispiel für CImageList:: Server Image.See the example for CImageList::SetOverlayImage.

CImageList::D rawexCImageList::DrawEx

Zeichnet ein Bildlisten Element im angegebenen Gerätekontext.Draws an image list item in the specified device context.

BOOL DrawEx(
    CDC* pDC,
    int nImage,
    POINT pt,
    SIZE sz,
    COLORREF clrBk,
    COLORREF clrFg,
    UINT nStyle);

ParameterParameters

pDCpDC
Zeiger auf den Zielgeräte Kontext.Pointer to the destination device context.

nImagenImage
Der null basierte Index des zu zeichnenden Bilds.Zero-based index of the image to draw.

ptpt
Der Speicherort, an dem im angegebenen Gerätekontext gezeichnet werden soll.Location at which to draw within the specified device context.

szsz
Die Größe des Bilds, das in Relation zur oberen linken Ecke des Bilds gezeichnet werden soll.Size of the portion of the image to draw relative to the upper-left corner of the image. Weitere Informationen finden Sie unter DX und dy in ImageList_DrawEx im Windows SDK.See dx and dy in ImageList_DrawEx in the Windows SDK.

clrBkclrBk
Hintergrundfarbe des Bilds.Background color of the image. Weitere Informationen finden Sie unter rgbbk in ImageList_DrawEx im Windows SDK.See rgbBk in ImageList_DrawEx in the Windows SDK.

clrFgclrFg
Vordergrundfarbe des Bilds.Foreground color of the image. Weitere Informationen finden Sie unter rgbfg in ImageList_DrawEx im Windows SDK.See rgbFg in ImageList_DrawEx in the Windows SDK.

nStylenStyle
Flag zum Angeben der Zeichnungs Art.Flag specifying the drawing style. Weitere Informationen finden Sie unter " ImageList_DrawEx " in der Windows SDK.See fStyle in ImageList_DrawEx in the Windows SDK.

RückgabewertReturn Value

Ungleich Null, wenn erfolgreich, andernfalls 0 (Null).Nonzero if successful; otherwise 0.

HinweiseRemarks

Die-Funktion verwendet die angegebene Zeichnungs Art und kombiniert das Bild mit der angegebenen Farbe.The function uses the specified drawing style and blends the image with the specified color.

BeispielExample

m_myImageList.DrawEx(&dc, 0, CPoint(0, 0), CSize(16, 16), CLR_DEFAULT,
                     CLR_DEFAULT, ILD_IMAGE);

CImageList::D rawindirectCImageList::DrawIndirect

Diese Member-Funktion aufrufen, um ein Bild aus einer Bildliste zu zeichnen.Call this member function to draw an image from an image list.

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

ParameterParameters

pimldppimldp
Ein Zeiger auf eine imagelistdrawparameams -Struktur, die Informationen über den Zeichnungs Vorgang enthält.A pointer to an IMAGELISTDRAWPARAMS structure that contains information about the draw operation.

pDCpDC
Ein Zeiger auf den Zielgeräte Kontext.A pointer to the destination device context. Sie müssen dieses CDC -Objekt löschen, wenn Sie damit abgeschlossen sind.You must delete this CDC object when you are done with it.

nImagenImage
Der null basierte Index des Bilds, das gezeichnet werden soll.The zero-based index of the image to be drawn.

ptpt
Eine Punkt Struktur, die die x-und y-Koordinaten enthält, in denen das Bild gezeichnet wird.A POINT structure containing the x- and y- coordinates where the image will be drawn.

szsz
Eine Größen Struktur, die die Größe des Bilds angibt, das gezeichnet werden soll.A SIZE structure indicating the size of the image to be drawn.

ptOriginptOrigin
Eine Punkt Struktur, die die x-und y-Koordinaten enthält, die die linke obere Ecke des Zeichnungs Vorgangs in Bezug auf das Bild selbst angeben.A POINT structure containing the x- and y-coordinates specifying the upper left corner of the drawing operation with respect to the image itself. Pixel des Bilds, die sich Links von der x-Koordinate und oberhalb der y-Koordinate befinden, werden nicht gezeichnet.Pixels of the image that are to the left of the x-coordinate and above the y-coordinate are not drawn.

fStylefStyle
Flag, das die Zeichnungsart und optional das Überlagerungs Bild angibt.Flag specifying the drawing style and, optionally, the overlay image. Weitere Informationen zum Überlagerungs Bild finden Sie im Abschnitt "Hinweise".See the Remarks section for information on the overlay image. Die MFC-Standard Implementierung, ILD_NORMAL, zeichnet das Bild mithilfe der Hintergrundfarbe für die Bildliste.The MFC default implementation, ILD_NORMAL, draws the image using the background color for the image list. Wenn die Hintergrundfarbe der CLR_NONE-Wert ist, wird das Bild transparent mithilfe einer Maske gezeichnet.If the background color is the CLR_NONE value, the image is drawn transparently using a mask.

Andere mögliche Stile werden unter dem fstyle -Member der imagelistdrawparameams -Struktur beschrieben.Other possible styles are described under the fStyle member of the IMAGELISTDRAWPARAMS structure.

dwRopdwRop
Ein-Wert, der einen Raster Vorgangs Code angibt.Value specifying a raster-operation code. Diese Codes definieren, wie die Farbdaten für das Quell Rechteck mit den Farbdaten für das Ziel Rechteck kombiniert werden, um die endgültige Farbe zu erzielen.These codes define how the color data for the source rectangle will be combined with the color data for the destination rectangle to achieve the final color. Die MFC-Standard Implementierung (srccopy) kopiert das Quell Rechteck direkt in das Ziel Rechteck.MFC's default implementation, SRCCOPY, copies the source rectangle directly to the destination rectangle. Dieser Parameter wird ignoriert, wenn der Parameter "sstyle" das Flag "ILD_ROP" nicht enthält.This parameter is ignored if the fStyle parameter does not include the ILD_ROP flag.

Andere mögliche Werte werden unter dem dwrop -Member der imagelistdrawparameams -Struktur beschrieben.Other possible values are described under the dwRop member of the IMAGELISTDRAWPARAMS structure.

rgbBackrgbBack
Die Hintergrundfarbe des Bilds (standardmäßig CLR_DEFAULT).The image background color, by default CLR_DEFAULT. Dieser Parameter kann ein von der Anwendung definierter RGB-Wert oder einer der folgenden Werte sein:This parameter can be an application-defined RGB value or one of the following values:

WertValue BedeutungMeaning
CLR_DEFAULTCLR_DEFAULT Standard Hintergrundfarbe.Default background color. Das Bild wird mithilfe der Hintergrundfarbe der Bildliste gezeichnet.The image is drawn using the image list background color.
CLR_NONECLR_NONE Keine Hintergrundfarbe.No background color. Das Bild wird transparent gezeichnet.The image is drawn transparently.

rgbForergbFore
Bild Vordergrundfarbe, standardmäßig CLR_DEFAULT.Image foreground color, by default CLR_DEFAULT. Dieser Parameter kann ein von der Anwendung definierter RGB-Wert oder einer der folgenden Werte sein:This parameter can be an application-defined RGB value or one of the following values:

WertValue BedeutungMeaning
CLR_DEFAULTCLR_DEFAULT Standard Vordergrundfarbe.Default foreground color. Das Bild wird mit der Hervorhebungs Farbe des Systems als Vordergrundfarbe gezeichnet.The image is drawn using the system highlight color as the foreground color.
CLR_NONECLR_NONE Keine Blend-Farbe.No blend color. Das Bild wird mit der Farbe des Zielgeräte Kontexts kombiniert.The image is blended with the color of the destination device context.

Dieser Parameter wird nur verwendet, wenn " f Style " das ILD_BLEND25-oder ILD_BLEND50-Flag enthält.This parameter is used only if fStyle includes the ILD_BLEND25 or ILD_BLEND50 flag.

fStatefState
Flag, das den Zeichnungs Zustand angibt.Flag specifying the drawing state. Dieser Member kann eine oder mehrere Bildlisten-Statusflags enthalten.This member can contain one or more image list state flags.

FrameFrame
Wirkt sich auf das Verhalten von Effekten und Alpha Mischungs Effekten aus.Affects the behavior of saturate and alpha-blending effects.

Bei Verwendung mit ILS_SATURATE enthält dieser Member den Wert, der jeder Farbkomponente des RGB-Dreiecks für jedes Pixel im Symbol hinzugefügt wird.When used with ILS_SATURATE, this member holds the value that is added to each color component of the RGB triplet for each pixel in the icon.

Bei Verwendung mit ILS_APLHA enthält dieser Member den Wert für den Alphakanal.When used with ILS_APLHA, this member holds the value for the alpha channel. Dieser Wert kann zwischen 0 und 255 liegen, wobei 0 vollständig transparent ist und 255 vollständig deckend ist.This value can be from 0 to 255, with 0 being completely transparent, and 255 being completely opaque.

crEffectcrEffect
Ein COLORREF -Wert, der für Glanz-und Schatteneffekte verwendet wird.A COLORREF value used for glow and shadow effects.

RückgabewertReturn Value

TRUE, wenn das Bild erfolgreich gezeichnet wird. andernfalls false.TRUE if the image is successfully drawn; otherwise FALSE.

HinweiseRemarks

Verwenden Sie die erste Version, wenn Sie die Win32-Struktur selbst auffüllen möchten.Use the first version if you want to fill the Win32 structure yourself. Verwenden Sie die zweite Version, wenn Sie mindestens ein MFC-Standardargument nutzen oder die Struktur nicht verwalten möchten.Use the second version if you want to take advantage of one or more of MFC's default arguments, or avoid managing the structure.

Ein Überlagerungs Bild ist ein Bild, das über dem primär Bild gezeichnet wird, das in dieser Member-Funktion durch den nImage -Parameter angegeben wird.An overlay image is an image that is drawn on top of the primary image, specified in this member function by the nImage parameter. Zeichnen Sie eine Überlagerungs Maske mithilfe der Draw -Member-Funktion mit dem 1-basierten Index der Überlagerungs Maske, die mithilfe des INDEXTOOVERLAYMASK -Makros angegeben wurde.Draw an overlay mask by using the Draw member function with the one-based index of the overlay mask specified by using the INDEXTOOVERLAYMASK macro.

BeispielExample

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

CImageList:: EndDragCImageList::EndDrag

Mit dieser Funktion können Sie einen Zieh Vorgang beenden.Call this function to end a drag operation.

static void PASCAL EndDrag();

HinweiseRemarks

Um einen Zieh Vorgang zu starten, verwenden BeginDrag Sie die-Member-Funktion.To begin a drag operation, use the BeginDrag member function.

BeispielExample

void CImageListDlg::OnLButtonUp(UINT nFlags, CPoint point)
{
   // Terminate the drag image (usually called from WM_LBUTTONUP).
   m_myImageList.DragLeave(this);
   m_myImageList.EndDrag();

   CDialog::OnLButtonUp(nFlags, point);
}

CImageList:: ExtractIconCImageList::ExtractIcon

Rufen Sie diese Funktion auf, um ein Symbol auf der Grundlage eines Bilds und der zugehörigen Maske in einer Bildliste zu erstellen.Call this function to create an icon based on an image and its related mask in an image list.

HICON ExtractIcon(int nImage);

ParameterParameters

nImagenImage
NULL basierter Index des Bilds.Zero-based index of the image.

RückgabewertReturn Value

Handle des Symbols, wenn erfolgreich; andernfalls NULL.Handle of the icon if successful; otherwise NULL.

HinweiseRemarks

Diese Methode basiert auf dem Verhalten des ImageList_ExtractIcon -Makros, um das Symbol zu erstellen.This method relies on the behavior of the ImageList_ExtractIcon macro to create the icon. Weitere Informationen zum Erstellen und Bereinigen von Symbolen finden Sie im ImageList_ExtractIcon -Makro.Refer to the ImageList_ExtractIcon macro for more information on icon creation and cleanup.

BeispielExample

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

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

// Draw the images of the image list on the DC.
for (dx = 0, i = 0; i < nCount; i++)
{
   hIcon = m_myImageList.ExtractIcon(i);

   dc.DrawIcon(dx, 0, hIcon);
   dx += cx;
}

CImageList:: FromHandleCImageList::FromHandle

Gibt einen Zeiger auf ein CImageList -Objekt zurück, wenn ein Handle für eine Bildliste angegeben ist.Returns a pointer to a CImageList object when given a handle to an image list.

static CImageList* PASCAL FromHandle(HIMAGELIST hImageList);

ParameterParameters

hImageListhImageList
Gibt die Bildliste an.Specifies the image list.

RückgabewertReturn Value

Ein Zeiger auf ein CImageList -Objekt, wenn erfolgreich; andernfalls NULL.A pointer to a CImageList object if successful; otherwise NULL.

HinweiseRemarks

Wenn ein CImageList nicht bereits an das Handle angefügt ist, wird CImageList ein temporäres Objekt erstellt und angefügt.If a CImageList is not already attached to the handle, a temporary CImageList object is created and attached. Dieses temporäre CImageList Objekt ist nur gültig, bis das nächste Mal die Leerlaufzeit der Anwendung in der Ereignisschleife liegt. zu diesem Zeitpunkt werden alle temporären Objekte gelöscht.This temporary CImageList object is valid only until the next time the application has idle time in its event loop, at which time all temporary objects are deleted.

BeispielExample

CImageList *ConvertHandle(HIMAGELIST hmyImageList)
{
   // Convert the HIMAGELIST to a CImageList*.
   ASSERT(hmyImageList != NULL);
   CImageList *pmyImageList = CImageList::FromHandle(hmyImageList);
   ASSERT(pmyImageList != NULL);

   return pmyImageList;
}

CImageList:: fromlenker permanentCImageList::FromHandlePermanent

Gibt einen Zeiger auf ein CImageList -Objekt zurück, wenn ein Handle für eine Bildliste angegeben ist.Returns a pointer to a CImageList object when given a handle to an image list.

static CImageList* PASCAL FromHandlePermanent(HIMAGELIST hImageList);

ParameterParameters

hImageListhImageList
Gibt die Bildliste an.Specifies the image list.

RückgabewertReturn Value

Ein Zeiger auf ein CImageList -Objekt, wenn erfolgreich; andernfalls NULL.A pointer to a CImageList object if successful; otherwise NULL.

HinweiseRemarks

Wenn ein CImageList -Objekt nicht an das Handle angefügt ist, wird NULL zurückgegeben.If a CImageList object is not attached to the handle, NULL is returned.

BeispielExample

CImageList *ConvertHandlePermanent(HIMAGELIST hmyImageList)
{
   // Convert the HIMAGELIST to a CImageList*.
   ASSERT(hmyImageList != NULL);
   CImageList *pmyImageList = CImageList::FromHandlePermanent(hmyImageList);
   ASSERT(pmyImageList != NULL);

   return pmyImageList;
}

CImageList:: GetBkColorCImageList::GetBkColor

Rufen Sie diese Funktion auf, um die aktuelle Hintergrundfarbe für eine Bildliste abzurufen.Call this function to retrieve the current background color for an image list.

COLORREF GetBkColor() const;

RückgabewertReturn Value

Der RGB-Farbwert der CImageList Objekt Hintergrundfarbe.The RGB color value of the CImageList object background color.

BeispielExample

Weitere Informationen finden Sie im Beispiel für CImageList:: SetBkColor.See the example for CImageList::SetBkColor.

CImageList:: GetDragImageCImageList::GetDragImage

Ruft die temporäre Bildliste ab, die für das Ziehen verwendet wird.Gets the temporary image list that is used for dragging.

static CImageList* PASCAL GetDragImage(
    LPPOINT lpPoint,
    LPPOINT lpPointHotSpot);

ParameterParameters

lpPointlpPoint
Adresse einer Punkt Struktur, die die aktuelle Zieh Position empfängt.Address of a POINT structure that receives the current drag position.

lpPointHotSpotlpPointHotSpot
Adresse einer POINT -Struktur, die den Offset des Zieh Bilds in Relation zur Zieh Position empfängt.Address of a POINT structure that receives the offset of the drag image relative to the drag position.

RückgabewertReturn Value

Bei Erfolg ein Zeiger auf die temporäre Bildliste, die für das Ziehen verwendet wird. andernfalls NULL.If successful, a pointer to the temporary image list that is used for dragging; otherwise, NULL.

CImageList:: GetImageCountCImageList::GetImageCount

Mit dieser Funktion wird die Anzahl von Bildern in einer Bildliste abgerufen.Call this function to retrieve the number of images in an image list.

int GetImageCount() const;

RückgabewertReturn Value

Die Anzahl der Bilder.The number of images.

BeispielExample

Weitere Informationen finden Sie im Beispiel für CImageList:: ExtractIcon.See the example for CImageList::ExtractIcon.

CImageList:: getimagan FOCImageList::GetImageInfo

Rufen Sie diese Funktion auf, um Informationen zu einem Bild abzurufen.Call this function to retrieve information about an image.

BOOL GetImageInfo(
    int nImage,
    IMAGEINFO* pImageInfo) const;

ParameterParameters

nImagenImage
NULL basierter Index des Bilds.Zero-based index of the image.

pImageInfopImageInfo
Ein Zeiger auf eine imageinfo -Struktur, die Informationen über das Bild empfängt.Pointer to an IMAGEINFO structure that receives information about the image. Die Informationen in dieser Struktur können verwendet werden, um die Bitmaps für das Bild direkt zu bearbeiten.The information in this structure can be used to directly manipulate the bitmaps for the image.

RückgabewertReturn Value

Ungleich Null, wenn erfolgreich, andernfalls 0 (Null).Nonzero if successful; otherwise 0.

HinweiseRemarks

Die IMAGEINFO Struktur enthält Informationen zu einem Bild in einer Bildliste.The IMAGEINFO structure contains information about an image in an image list.

CImageList:: geout afehandleCImageList::GetSafeHandle

Rufen Sie diese Funktion auf, m_hImageList um den Datenmember abzurufen.Call this function to retrieve the m_hImageList data member.

HIMAGELIST GetSafeHandle() const;

RückgabewertReturn Value

Ein Handle für die angefügte Bildliste. andernfalls NULL, wenn kein Objekt angefügt ist.A handle to the attached image list; otherwise NULL if no object is attached.

BeispielExample

// Get the safe handle to the image list.
HIMAGELIST hImageList = m_myImageList.GetSafeHandle();

CImageList:: m_hImageListCImageList::m_hImageList

Ein Handle der Bildliste, die an dieses-Objekt angefügt ist.A handle of the image list attached to this object.

HIMAGELIST m_hImageList;

HinweiseRemarks

Der m_hImageList Datenmember ist eine öffentliche Variable des Typs HIMAGELIST.The m_hImageList data member is a public variable of type HIMAGELIST.

BeispielExample

// Get the safe handle to the image list.
HIMAGELIST hImageList = m_myImageList.m_hImageList;

CImageList:: Operator HIMAGELISTCImageList::operator HIMAGELIST

Verwenden Sie diesen Operator, um das angefügte Handle CImageList des-Objekts zu erhalten.Use this operator to get the attached handle of the CImageList object.

operator HIMAGELIST() const;

RückgabewertReturn Value

Bei Erfolg ein Handle für die Bildliste, die durch das CImageList -Objekt dargestellt wird, andernfalls NULL.If successful, a handle to the image list represented by the CImageList object; otherwise NULL.

HinweiseRemarks

Dieser Operator ist ein Typumwandlungs Operator, der die direkte Verwendung eines HIMAGELIST-Objekts unterstützt.This operator is a casting operator, which supports direct use of an HIMAGELIST object.

BeispielExample

// Get the safe handle to the image list.
HIMAGELIST hImageList = m_myImageList;

CImageList:: ReadCImageList::Read

Mit dieser Funktion können Sie eine Bildliste aus einem Archiv lesen.Call this function to read an image list from an archive.

BOOL Read(CArchive* pArchive);

ParameterParameters

pArchivepArchive
Ein Zeiger auf ein CArchive -Objekt, aus dem die Bildliste gelesen werden soll.A pointer to a CArchive object from which the image list is to be read.

RückgabewertReturn Value

Ungleich Null, wenn erfolgreich, andernfalls 0 (Null).Nonzero if successful; otherwise 0.

BeispielExample

// Open the archive to load the image list from.
CFile myFile(_T("myfile.data"), CFile::modeRead);
CArchive ar(&myFile, CArchive::load);
CImageList myImgList;

// Load the image list from the archive.
myImgList.Read(&ar);

CImageList:: RemoveCImageList::Remove

Mit dieser Funktion können Sie ein Bild aus einem Bildlisten Objekt entfernen.Call this function to remove an image from an image list object.

BOOL Remove(int nImage);

ParameterParameters

nImagenImage
Der null basierte Index des zu entfernenden Bilds.Zero-based index of the image to remove.

RückgabewertReturn Value

Ungleich Null, wenn erfolgreich, andernfalls 0 (Null).Nonzero if successful; otherwise 0.

HinweiseRemarks

Alle Elemente nach nImage werden nun um eine Position nach unten verschoben.All items following nImage now move down one position. Wenn eine Bildliste beispielsweise zwei Elemente enthält, führt das Löschen des ersten Elements dazu, dass das restliche Element jetzt an der ersten Position liegt.For example, if an image list contains two items, deleting the first item will cause the remaining item to now be in the first position. nImage= 0 für das Element an der ersten Position.nImage=0 for the item in the first position.

BeispielExample

// Remove every other image from the image list.
for (int i = 0; i < m_myImageList.GetImageCount(); i++)
{
   m_myImageList.Remove(i);
}

CImageList:: ReplaceCImageList::Replace

Mit dieser Funktion können Sie ein Bild in einer Bildliste durch ein neues Bild ersetzen.Call this function to replace an image in an image list with a new image.

BOOL Replace(
    int nImage,
    CBitmap* pbmImage,
    CBitmap* pbmMask);

int Replace(
    int nImage,
    HICON hIcon);

ParameterParameters

nImagenImage
Der null basierte Index des zu ersetzenden Bilds.Zero-based index of the image to replace.

pbmImagepbmImage
Ein Zeiger auf die Bitmap, die das Bild enthält.A pointer to the bitmap containing the image.

pbmMaskpbmMask
Ein Zeiger auf die Bitmap, die die Maske enthält.A pointer to the bitmap containing the mask. Wenn keine Maske mit der Bildliste verwendet wird, wird dieser Parameter ignoriert.If no mask is used with the image list, this parameter is ignored.

hIconhIcon
Ein Handle für das Symbol, das die Bitmap und Maske für das neue Bild enthält.A handle to the icon that contains the bitmap and mask for the new image.

RückgabewertReturn Value

Die Version, die bool zurückgibt, gibt bei erfolgreicher Ausführung ungleich NULL zurück andernfalls 0.The version returning BOOL returns nonzero if successful; otherwise 0.

Die Version int gibt den NULL basierten Index des Bilds zurück, wenn erfolgreich. andernfalls-1.The version returning int returns the zero-based index of the image if successful; otherwise - 1.

HinweiseRemarks

Rufen Sie nach dem Aufruf von SetImageCount diese Memberfunktion auf, um die neuen gültigen Bilder den Indexnummern des Platzhalterbilds zuzuweisen.Call this member function after calling SetImageCount to assign the new, valid images to the placeholder image index numbers.

BeispielExample

Weitere Informationen finden Sie im Beispiel für CImageList::-Abbild magecount.See the example for CImageList::SetImageCount.

CImageList:: SetBkColorCImageList::SetBkColor

Mit dieser Funktion wird die Hintergrundfarbe für eine Bildliste festgelegt.Call this function to set the background color for an image list.

COLORREF SetBkColor(COLORREF cr);

ParameterParameters

crcr
Die festzulegende Hintergrundfarbe.Background color to set. Sie kann CLR_NONE sein.It can be CLR_NONE. In diesem Fall werden Bilder mithilfe der Maske transparent gezeichnet.In that case, images are drawn transparently using the mask.

RückgabewertReturn Value

Die vorherige Hintergrundfarbe, wenn erfolgreich. Andernfalls CLR_NONE.The previous background color if successful; otherwise CLR_NONE.

BeispielExample

// Set the background color to white.
m_myImageList.SetBkColor(RGB(255, 255, 255));
ASSERT(m_myImageList.GetBkColor() == RGB(255, 255, 255));

CImageList:: setdragcurrsorimageCImageList::SetDragCursorImage

Erstellt ein neues Zieh Bild, indem das angegebene Bild (in der Regel ein Mauszeiger Bild) mit dem aktuellen Drag-Bild kombiniert wird.Creates a new drag image by combining the given image (typically a mouse cursor image) with the current drag image.

BOOL SetDragCursorImage(
    int nDrag,
    CPoint ptHotSpot);

ParameterParameters

nDragnDrag
Der Index des neuen Bilds, das mit dem Zieh Bild kombiniert werden soll.Index of the new image to be combined with the drag image.

ptHotSpotptHotSpot
Die Position des Hotspots innerhalb des neuen Bilds.Position of the hot spot within the new image.

RückgabewertReturn Value

Ungleich Null, wenn erfolgreich, andernfalls 0 (Null).Nonzero if successful; otherwise 0.

HinweiseRemarks

Da die Zieh Funktionen das neue Bild während eines Zieh Vorgangs verwenden, sollten Sie die Windows ShowCursor -Funktion verwenden, um den eigentlichen Mauszeiger nach CImageList::SetDragCursorImagedem Aufruf von auszublenden.Because the dragging functions use the new image during a drag operation, you should use the Windows ShowCursor function to hide the actual mouse cursor after calling CImageList::SetDragCursorImage. Andernfalls weist das System möglicherweise zwei Mauszeiger auf die Dauer des Zieh Vorgangs auf.Otherwise, the system may appear to have two mouse cursors for the duration of the drag operation.

CImageList:: Abbild magecountCImageList::SetImageCount

Mit dieser Member-Funktion können Sie die Anzahl der Bilder in CImageList einem-Objekt zurücksetzen.Call this member function to reset the number of images in a CImageList object.

BOOL SetImageCount(UINT uNewCount);

ParameterParameters

uNewCountuNewCount
Der-Wert, der die neue Gesamtzahl der Bilder in der Bildliste angibt.The value specifying the new total number of images in the image list.

RückgabewertReturn Value

Ungleich 0, wenn erfolgreich, andernfalls 0.Nonzero if successful; otherwise zero.

HinweiseRemarks

Wenn Sie diese Member-Funktion zum Erhöhen der Anzahl der Bilder in der Bildliste aufgerufen haben, können Sie für jedes weitere Bild ersetzen , um die neuen Indizes gültigen Bildern zuzuweisen.If you call this member function to increase the number of images in the image list, then call Replace for each additional image to assign the new indexes to valid images. Wenn Sie die Indizes nicht gültigen Bildern zuweisen, sind Zeichnungsvorgänge, die die neuen Images erstellen, unvorhersehbar.If you fail to assign the indexes to valid images, draw operations that create the new images will be unpredictable.

Wenn Sie die Größe einer Bildliste mit dieser Funktion verringern, werden die abgeschnittene Bilder freigegeben.If you decrease the size of an image list by using this function, the truncated images are freed.

BeispielExample

// Set the image count of the image list to be 10 with
// all images being the system question mark icon.
m_myImageList.SetImageCount(10);
HICON hIcon = AfxGetApp()->LoadStandardIcon(IDI_QUESTION);

for (int i = 0; i < 10; i++)
{
   m_myImageList.Replace(i, hIcon);
}

CImageList:: Server-layimageCImageList::SetOverlayImage

Mit dieser Funktion können Sie den NULL basierten Index eines Bilds der Liste der Bilder hinzufügen, die als Überlagerungs Masken verwendet werden sollen.Call this function to add the zero-based index of an image to the list of images to be used as overlay masks.

BOOL SetOverlayImage(
    int nImage,
    int nOverlay);

ParameterParameters

nImagenImage
NULL basierter Index des Bilds, das als Überlagerungs Maske verwendet werden soll.Zero-based index of the image to use as an overlay mask.

nOverlaynOverlay
Ein einbasierter Index der Überlagerungs Maske.One-based index of the overlay mask.

RückgabewertReturn Value

Ungleich Null, wenn erfolgreich, andernfalls 0 (Null).Nonzero if successful; otherwise 0.

HinweiseRemarks

Der Liste können bis zu vier Indizes hinzugefügt werden.Up to four indices can be added to the list.

Eine Überlagerungs Maske ist ein Bild, das transparent über ein anderes Bild gezeichnet wird.An overlay mask is an image drawn transparently over another image. Zeichnen Sie eine Überlagerungs Maske über ein Bild, indem Sie die Funktion CImageList::D RAW Member mit dem 1-basierten Index der über Lagerungs Maske verwenden, die mit dem INDEXTOOVERLAYMASK-Makro angegeben wurde.Draw an overlay mask over an image by using the CImageList::Draw member function with the one-based index of the overlay mask specified by using the INDEXTOOVERLAYMASK macro.

BeispielExample

// Add a new image to the image list.
int nIndex = m_myImageList.Add(AfxGetApp()->LoadStandardIcon(IDI_QUESTION));

if (nIndex != -1)
{
   // Make the new image an overlay image.
   m_myImageList.SetOverlayImage(nIndex, 1);

   // Draw the first image in the image list with an overlay image.
   m_myImageList.Draw(&dc, 0, CPoint(0, 0), INDEXTOOVERLAYMASK(1));
}

CImageList:: WriteCImageList::Write

Mit dieser Funktion können Sie ein bildlist-Objekt in ein Archiv schreiben.Call this function to write an image list object to an archive.

BOOL Write(CArchive* pArchive);

ParameterParameters

pArchivepArchive
Ein Zeiger auf ein CArchive -Objekt, in dem die Bildliste gespeichert werden soll.A pointer to a CArchive object in which the image list is to be stored.

RückgabewertReturn Value

Ungleich Null, wenn erfolgreich, andernfalls 0 (Null).Nonzero if successful; otherwise 0.

BeispielExample

// Open the archive to store the image list in.
CFile myFile(_T("myfile.data"), CFile::modeCreate | CFile::modeWrite);
CArchive ar(&myFile, CArchive::store);

// Store the image list in the archive.
m_myImageList.Write(&ar);

Siehe auchSee also

CObject-KlasseCObject Class
HierarchiediagrammHierarchy Chart
CListCtrl-KlasseCListCtrl Class
CTabCtrl-KlasseCTabCtrl Class