Aracılığıyla paylaş


CImageList Sınıf

Windows ortak görüntü listesi denetiminin işlevselliğini sağlar.

Sözdizimi

class CImageList : public CObject

Üyeler

Ortak Oluşturucular

Veri Akışı Adı Açıklama
CImageList::CImageList Bir CImageList nesne oluşturur.

Genel Yöntemler

Veri Akışı Adı Açıklama
CImageList::Add Resim listesine resim veya resim ekler.
CImageList::Attach Nesneye CImageList resim listesi ekler.
CImageList::BeginDrag Bir görüntüyü sürüklemeye başlar.
CImageList::Copy Nesne içindeki bir CImageList görüntüyü kopyalar.
CImageList::Create Görüntü listesini başlatır ve bir CImageList nesneye ekler.
CImageList::DeleteImageList Resim listesini siler.
CImageList::DeleteTempMap tarafından oluşturulan geçici CImageList nesneleri silmek için boşta kalma süresi işleyicisi tarafından CWinApp FromHandleçağrılır.
CImageList::Detach Bir resim listesi nesnesini nesneden CImageList ayırır ve bir tutamacı görüntü listesine döndürür.
CImageList::DragEnter Bir sürükleme işlemi sırasında güncelleştirmeleri kilitler ve sürükleme görüntüsünü belirtilen bir konumda görüntüler.
CImageList::DragLeave Pencerenin kilidini açar ve sürükleme görüntüsünü gizleyerek pencerenin güncelleştirilebilmesini sağlar.
CImageList::DragMove Sürükle ve bırak işlemi sırasında sürüklenen görüntüyü taşır.
CImageList::DragShowNolock Sürükleme işlemi sırasında, pencereyi kilitlemeden sürükleme görüntüsünü gösterir veya gizler.
CImageList::Draw Sürükle ve bırak işlemi sırasında sürüklenen görüntüyü çizer.
CImageList::DrawEx Belirtilen cihaz bağlamında bir resim listesi öğesi çizer. İşlev, belirtilen çizim stilini kullanır ve görüntüyü belirtilen renkle harmanlar.
CImageList::DrawIndirect Resim listesinden resim çizer.
CImageList::EndDrag Sürükleme işlemini sonlandırır.
CImageList::ExtractIcon Resim listesindeki bir görüntüyü ve maskeyi temel alan bir simge oluşturur.
CImageList::FromHandle Görüntü listesine tanıtıcı CImageList verildiğinde nesneye yönelik bir işaretçi döndürür. Bir CImageList nesne tanıtıcıya bağlı değilse, geçici CImageList bir nesne oluşturulur ve eklenir.
CImageList::FromHandlePermanent Görüntü listesine tanıtıcı CImageList verildiğinde nesneye yönelik bir işaretçi döndürür. Bir CImageList nesne tanıtıcıya bağlı değilse NULL döndürülür.
CImageList::GetBkColor Resim listesi için geçerli arka plan rengini alır.
CImageList::GetDragImage Sürüklemek için kullanılan geçici görüntü listesini alır.
CImageList::GetImageCount Resim listesindeki görüntü sayısını alır.
CImageList::GetImageInfo Bir görüntü hakkındaki bilgileri alır.
CImageList::GetSafeHandle alır m_hImageList.
CImageList::Read Arşivden bir resim listesi okur.
CImageList::Remove Resim listesinden bir görüntüyü kaldırır.
CImageList::Replace Resim listesindeki bir görüntüyü yeni bir resimle değiştirir.
CImageList::SetBkColor Resim listesi için arka plan rengini ayarlar.
CImageList::SetDragCursorImage Yeni bir sürükleme görüntüsü oluşturur.
CImageList::SetImageCount Resim listesindeki görüntü sayısını sıfırlar.
CImageList::SetOverlayImage Bir görüntünün sıfır tabanlı dizinini katman maskeleri olarak kullanılacak görüntüler listesine ekler.
CImageList::Write Bir görüntü listesini arşive yazar.

Ortak İşleçler

Veri Akışı Adı Açıklama
CImageList::operator HIMAGELIST HIMAGELIST öğesine eklenmiş olan öğesini CImageListdöndürür.

Ortak Veri Üyeleri

Veri Akışı Adı Açıklama
CImageList::m_hImageList Bu nesneye eklenmiş görüntü listesini içeren tanıtıcı.

Açıklamalar

"Görüntü listesi", her biri sıfır tabanlı dizini tarafından başvurulabilen aynı boyutlu görüntülerden oluşan bir koleksiyondur. Görüntü listeleri, büyük simge veya bit eşlem kümelerini verimli bir şekilde yönetmek için kullanılır. Bir resim listesindeki tüm görüntüler, ekran cihazı biçiminde tek, geniş bir bit eşlem içinde yer alır. Resim listesi, resimleri saydam olarak çizmek için kullanılan maskeleri (simge stili) içeren tek renkli bir bit eşlem de içerebilir. Microsoft Win32 uygulama programlama arabirimi (API), resim çizmenizi, görüntü listeleri oluşturup yok etmenizi, görüntü ekleyip kaldırmanızı, görüntüleri değiştirmenizi, resimleri birleştirmenizi ve sürüklemenizi sağlayan görüntü listesi işlevleri sağlar.

Bu denetim (ve dolayısıyla CImageList sınıfı) yalnızca Windows 95/98 ve Windows NT sürüm 3.51 ve üzeri altında çalışan programlarda kullanılabilir.

kullanma CImageListhakkında daha fazla bilgi için bkz. Denetimler ve Kullanma CImageList.

Devralma Hiyerarşisi

CObject

CImageList

Gereksinimler

Üstbilgi: afxcmn.h

CImageList::Add

Resim listesine bir veya daha fazla resim veya simge eklemek için bu işlevi çağırın.

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

int Add(
    CBitmap* pbmImage,
    COLORREF crMask);

int Add(HICON hIcon);

Parametreler

pbmImage
Görüntüyü veya resimleri içeren bit eşlem işaretçisi. Görüntü sayısı bit eşlem genişliğine göre çıkarılır.

pbmMask
Maskeyi içeren bit eşlem işaretçisi. Görüntü listesiyle maske kullanılmazsa, bu parametre yoksayılır.

crMask
Maskeyi oluşturmak için kullanılan renk. Verilen bit eşlemdeki bu rengin her pikseli siyah olarak değiştirilir ve maskedeki ilgili bit bir olarak ayarlanır.

hIcon
Yeni görüntü için bit eşlem ve maske içeren simgenin tutamacı.

Dönüş Değeri

Başarılı olursa ilk yeni görüntünün sıfır tabanlı dizini; aksi takdirde - 1.

Açıklamalar

İşiniz bittiğinde simge tutamacını serbest bırakmak sizin sorumluluğunuzdadır.

Örnek

// 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::Attach

Nesneye resim listesi eklemek için CImageList bu işlevi çağır.

BOOL Attach(HIMAGELIST hImageList);

Parametreler

hImageList
Resim listesi nesnesinin tanıtıcısı.

Dönüş Değeri

Ek başarılı olursa sıfır olmayan; aksi takdirde 0.

Örnek

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::BeginDrag

Görüntüyü sürüklemeye başlamak için bu işlevi çağır.

BOOL BeginDrag(
    int nImage,
    CPoint ptHotSpot);

Parametreler

nImage
Sürüklenecek görüntünün sıfır tabanlı dizini.

ptHotSpot
Başlangıç sürükleme konumunun koordinatları (genellikle imleç konumu). Koordinatlar görüntünün sol üst köşesine göredir.

Dönüş Değeri

Başarılı olursa sıfır olmayan; aksi takdirde 0.

Açıklamalar

Bu işlev, sürüklemek için kullanılan geçici bir görüntü listesi oluşturur. Görüntü, belirtilen görüntüyü ve maskesini geçerli imleçle birleştirir. Sonraki WM_MOUSEMOVE iletilere yanıt olarak, üye işlevini kullanarak DragMove sürükleme görüntüsünü taşıyabilirsiniz. Sürükleme işlemini sonlandırmak için üye işlevini kullanabilirsiniz EndDrag .

Örnek

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::CImageList

Bir CImageList nesne oluşturur.

CImageList();

CImageList::Copy

Bu üye işlevi, Windows SDK'da açıklandığı gibi Win32 işlevinin ImageList_Copydavranışını uygular.

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

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

Parametreler

iDst
Kopyalama işleminin hedefi olarak kullanılacak görüntünün sıfır tabanlı dizini.

iSrc
Kopyalama işleminin kaynağı olarak kullanılacak görüntünün sıfır tabanlı dizini.

uFlags
Yapılacak kopyalama işleminin türünü belirten bit bayrağı değeri. Bu parametre aşağıdaki değerlerden biri olabilir:

Değer Anlamı
ILCF_MOVE Kaynak görüntü hedef görüntünün dizinine kopyalanır. Bu işlem belirli bir görüntünün birden çok örneğine neden olur. ILCF_MOVE varsayılan değerdir.
ILCF_SWAP Kaynak ve hedef görüntüler, görüntü listesindeki konumları değiştirir.

pSrc
Kopyalama işleminin hedefi olan bir CImageList nesnenin işaretçisi.

Dönüş Değeri

Başarılı olursa sıfır olmayan; aksi takdirde sıfır.

Örnek

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::Create

Görüntü listesini başlatır ve bir CImageList nesneye ekler.

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

Parametreler

cx
Her görüntünün piksel cinsinden boyutları.

cy
Her görüntünün piksel cinsinden boyutları.

nFlags
Oluşturulacak görüntü listesinin türünü belirtir. Bu parametre aşağıdaki değerlerin bir bileşimi olabilir, ancak değerlerden yalnızca birini ILC_COLOR içerebilir.

Değer Anlamı
ILC_COLOR Diğer ILC_COLOR* bayraklardan hiçbiri belirtilmezse varsayılan davranışı kullanın. Genellikle varsayılan olarak ILC_COLOR4; ancak eski görüntü sürücüleri için varsayılan değer olur ILC_COLORDDB.
ILC_COLOR4 Görüntü listesi için bit eşlem olarak 4 bit (16 renkli) cihazdan bağımsız bit eşlem (DIB) bölümü kullanın.
ILC_COLOR8 8 bit DIB bölümü kullanın. Renk tablosu için kullanılan renkler, yarım ton paleti ile aynı renklerdir.
ILC_COLOR16 16 bit (32/64k renk) DIB bölümü kullanın.
ILC_COLOR24 24 bit DIB bölümü kullanın.
ILC_COLOR32 32 bit DIB bölümü kullanın.
ILC_COLORDDB Cihaza bağımlı bit eşlem kullanın.
ILC_MASK Maske kullanır. Görüntü listesinde biri maske olarak kullanılan tek renkli bit eşlem olan iki bit eşlem bulunur. Bu değer dahil değilse, görüntü listesinde yalnızca bir bit eşlem bulunur. Maskelenmiş görüntüler hakkında ek bilgi için bkz . Resim Listesinden Resim Çizme.

nInitial
Görüntü listesinin başlangıçta içerdiği görüntü sayısı.

nGrow
Sistemin yeni görüntülere yer açmak için listeyi yeniden boyutlandırması gerektiğinde görüntü listesinin büyüyebileceği görüntü sayısı. Bu parametre, yeniden boyutlandırılan görüntü listesinin içerebileceği yeni görüntü sayısını temsil eder.

nBitmapID
Görüntü listesiyle ilişkilendirilecek bit eşlem kaynak kimlikleri.

crMask
Maske oluşturmak için kullanılan renk. Belirtilen bit eşlem içindeki bu rengin her pikseli siyah olarak değiştirilir ve maskedeki ilgili bit bir olarak ayarlanır.

lpszBitmapID
Görüntülerin kaynak kimliklerini içeren bir dize.

imagelist1
Bir nesneye CImageList başvuru.

nImage1
Mevcut ilk görüntünün dizini.

imagelist2
Bir nesneye CImageList başvuru.

nImage2
Mevcut ikinci görüntünün dizini.

dx
İkinci görüntünün x ekseninin ilk görüntüyle ilişkisi piksel cinsinden uzaklığı.

dy
İkinci görüntünün y ekseninin ilk görüntüyle ilişkisi piksel cinsinden uzaklığı.

pImageList
Nesne işaretçisi CImageList .

Dönüş Değeri

Başarılı olursa sıfır olmayan; aksi takdirde 0.

Açıklamalar

İki adımda bir CImageList oluşturursunuz. İlk olarak oluşturucuyu çağırın ve ardından öğesini çağırarak Creategörüntü listesini oluşturur ve nesnesine CImageList ekler.

Örnek

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

CImageList::DeleteImageList

Resim listesini silmek için bu işlevi çağır.

BOOL DeleteImageList();

Dönüş Değeri

Başarılı olursa sıfır olmayan; aksi takdirde 0.

Örnek

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

CImageList::DeleteTempMap

Boşta kalma zamanı işleyicisi tarafından CWinApp otomatik olarak çağrılır, DeleteTempMap FromHandle tarafından oluşturulan geçici CImageList nesneleri siler, ancak nesnelerle ImageList geçici olarak ilişkili tanıtıcıları ( hImageList) yok etmez.

static void PASCAL DeleteTempMap();

Örnek

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

CImageList::Detach

Resim listesi nesnesini bir nesneden CImageList ayırmak için bu işlevi çağır.

HIMAGELIST Detach();

Dönüş Değeri

Resim listesi nesnesinin tanıtıcısı.

Açıklamalar

Bu işlev, görüntü listesi nesnesine bir tanıtıcı döndürür.

Örnek

örneğine CImageList::Attachbakın.

CImageList::DragEnter

Sürükleme işlemi sırasında, tarafından pWndLock belirtilen pencereye yapılan güncelleştirmeleri kilitler ve sürükle görüntüsünü tarafından pointbelirtilen konumda görüntüler.

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

Parametreler

pWndLock
Sürükleme resminin sahibi olan pencerenin işaretçisi.

point
Sürükleme görüntüsünün görüntüleneceği konum. Koordinatlar pencerenin sol üst köşesine göredir (istemci alanına göre değildir).

Dönüş Değeri

Başarılı olursa sıfır olmayan; aksi takdirde 0.

Açıklamalar

Koordinatlar pencerenin sol üst köşesine göredir, bu nedenle koordinatları belirtirken kenarlık, başlık çubuğu ve menü çubuğu gibi pencere öğelerinin genişliklerini dengelemeniz gerekir.

ise pWndLock NULL, bu işlev görüntüyü masaüstü penceresiyle ilişkilendirilmiş görüntü bağlamında çizer ve koordinatlar ekranın sol üst köşesine göredir.

Bu işlev, sürükleme işlemi sırasında verilen pencerede yapılan diğer tüm güncelleştirmeleri kilitler. Sürükle ve bırak işleminin hedefini vurgulama gibi bir sürükleme işlemi sırasında herhangi bir çizim yapmanız gerekiyorsa, işlevi kullanarak CImageList::DragLeave sürüklenen görüntüyü geçici olarak gizleyebilirsiniz.

Örnek

örneğine CImageList::BeginDragbakın.

CImageList::DragLeave

tarafından pWndLock belirtilen pencerenin kilidini açar ve sürükleme görüntüsünü gizleyerek pencerenin güncelleştirilebilmesini sağlar.

static BOOL PASCAL DragLeave(CWnd* pWndLock);

Parametreler

pWndLock
Sürükleme resminin sahibi olan pencerenin işaretçisi.

Dönüş Değeri

Başarılı olursa sıfır olmayan; aksi takdirde 0.

Örnek

örneğine CImageList::EndDragbakın.

CImageList::DragMove

Sürükle ve bırak işlemi sırasında sürüklenen görüntüyü taşımak için bu işlevi çağırın.

static BOOL PASCAL DragMove(CPoint pt);

Parametreler

pt
Yeni sürükleme konumu.

Dönüş Değeri

Başarılı olursa sıfır olmayan; aksi takdirde 0.

Açıklamalar

Bu işlev genellikle bir WM_MOUSEMOVE iletiye yanıt olarak çağrılır. Sürükleme işlemine başlamak için üye işlevini kullanın BeginDrag .

Örnek

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

   CDialog::OnMouseMove(nFlags, point);
}

CImageList::DragShowNolock

Sürükleme işlemi sırasında, pencereyi kilitlemeden sürükleme görüntüsünü gösterir veya gizler.

static BOOL PASCAL DragShowNolock(BOOL bShow);

Parametreler

bShow
Sürükleme görüntüsünün gösterilip gösterilmeymeyeceğini belirtir.

Dönüş Değeri

Başarılı olursa sıfır olmayan; aksi takdirde 0.

Açıklamalar

işlevi, CImageList::DragEnter bir sürükleme işlemi sırasında penceredeki tüm güncelleştirmeleri kilitler. Ancak bu işlev pencereyi kilitlemez.

CImageList::Draw

Sürükle ve bırak işlemi sırasında sürüklenen görüntüyü çizmek için bu işlevi çağırın.

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

Parametreler

pDC
Hedef cihaz bağlamı işaretçisi.

nImage
Çizecek görüntünün sıfır tabanlı dizini.

pt
Belirtilen cihaz bağlamı içinde çizilen konum.

nStyle
Çizim stilini belirten bayrak. Bu değerlerden biri veya daha fazlası olabilir:

Değer Anlamı
ILD_BLEND25, ILD_FOCUS %25'i sistem vurgu rengiyle karıştırarak görüntüyü çizer. Görüntü listesinde maske yoksa bu değerin hiçbir etkisi olmaz.
ILD_BLEND50, ILD_SELECTED, ILD_BLEND %50'sini sistem vurgu rengiyle karıştırarak görüntüyü çizer. Görüntü listesinde maske yoksa bu değerin hiçbir etkisi olmaz.
ILD_MASK Maskeyi çizer.
ILD_NORMAL Resim listesinin arka plan rengini kullanarak resmi çizer. Arka plan rengi değerse CLR_NONE , resim maske kullanılarak saydam olarak çizilir.
ILD_TRANSPARENT Arka plan renginden bağımsız olarak maskeyi kullanarak resmi saydam bir şekilde çizer.

Dönüş Değeri

Başarılı olursa sıfır olmayan; aksi takdirde 0.

Örnek

örneğine CImageList::SetOverlayImagebakın.

CImageList::DrawEx

Belirtilen cihaz bağlamında bir resim listesi öğesi çizer.

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

Parametreler

pDC
Hedef cihaz bağlamı işaretçisi.

nImage
Çizecek görüntünün sıfır tabanlı dizini.

pt
Belirtilen cihaz bağlamı içinde çizilen konum.

sz
Resmin sol üst köşesine göre çizecek olan bölümünün boyutu. Windows SDK'sında ve dy içinde ImageList_DrawEx bölümüne bakındx.

clrBk
Resmin arka plan rengi. Windows SDK'sında ImageList_DrawEx bölümüne bakınrgbBk.

clrFg
Resmin ön plan rengi. Windows SDK'sında ImageList_DrawEx bölümüne bakınrgbFg.

nStyle
Çizim stilini belirten bayrak. Windows SDK'sında ImageList_DrawEx bölümüne bakınfStyle.

Dönüş Değeri

Başarılı olursa sıfır olmayan; aksi takdirde 0.

Açıklamalar

İşlev, belirtilen çizim stilini kullanır ve görüntüyü belirtilen renkle harmanlar.

Örnek

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

CImageList::DrawIndirect

Bir görüntü listesinden görüntü çizmek için bu üye işlevini çağır.

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

Parametreler

pimldp
Çizim işlemi hakkında bilgi içeren bir yapıya yönelik işaretçi IMAGELISTDRAWPARAMS .

pDC
Hedef cihaz bağlamı için bir işaretçi. İşiniz bittiğinde bu CDC nesneyi silmeniz gerekir.

nImage
Çizilecek görüntünün sıfır tabanlı dizini.

pt
Resmin POINT çizileceği x ve y koordinatlarını içeren bir yapı.

sz
SIZE Çizilecek görüntünün boyutunu gösteren bir yapı.

ptOrigin
POINT Resmin kendisine göre çizim işleminin sol üst köşesini belirten x ve y koordinatlarını içeren bir yapı. X koordinatının solunda ve y koordinatının üzerinde olan görüntünün pikselleri çizilmemiş.

fStyle
Çizim stilini ve isteğe bağlı olarak katman görüntüsünü belirten bayrak. Katman görüntüsü hakkında bilgi için Açıklamalar bölümüne bakın. MFC varsayılan uygulaması, ILD_NORMALgörüntü listesinin arka plan rengini kullanarak görüntüyü çizer. Arka plan rengi değerse CLR_NONE , resim bir maske kullanılarak saydam olarak çizilir.

Diğer olası stiller, yapının üyesi IMAGELISTDRAWPARAMS altında fStyle açıklanmıştır.

dwRop
Raster işlem kodunu belirten değer. Bu kodlar, son rengi elde etmek için kaynak dikdörtgenin renk verilerinin hedef dikdörtgenin renk verileriyle nasıl birleştirileceğini tanımlar. MFC'nin varsayılan uygulaması olan , SRCCOPYkaynak dikdörtgeni doğrudan hedef dikdörtgene kopyalar. Parametre bayrağını içermiyorsa fStyle bu parametre yoksayılır ILD_ROP .

Diğer olası değerler, yapının üyesi IMAGELISTDRAWPARAMS altında dwRop açıklanmıştır.

rgbBack
Varsayılan olarak CLR_DEFAULT, resim arka plan rengi. Bu parametre, uygulama tanımlı bir RGB değeri veya aşağıdaki değerlerden biri olabilir:

Değer Anlamı
CLR_DEFAULT Varsayılan arka plan rengi. Resim, resim listesi arka plan rengi kullanılarak çizilir.
CLR_NONE Arka plan rengi yok. Resim saydam olarak çizilir.

rgbFore
Görüntü ön plan rengi, varsayılan olarak CLR_DEFAULT. Bu parametre, uygulama tanımlı bir RGB değeri veya aşağıdaki değerlerden biri olabilir:

Değer Anlamı
CLR_DEFAULT Varsayılan ön plan rengi. Görüntü, ön plan rengi olarak sistem vurgu rengi kullanılarak çizilir.
CLR_NONE Karışım rengi yok. Görüntü, hedef cihaz bağlamının rengiyle karıştırılır.

Bu parametre yalnızca veya ILD_BLEND50 bayrağını fStyle ILD_BLEND25 içeriyorsa kullanılır.

fState
Çizim durumunu belirten bayrak. Bu üye bir veya daha fazla görüntü listesi durum bayrağı içerebilir.

Frame
Doygunluk ve alfa karıştırma etkilerinin davranışını etkiler.

ile ILS_SATURATEkullanıldığında, bu üye simgedeki her piksel için RGB üçlüsünün her renk bileşenine eklenen değeri tutar.

ile ILS_APLHAkullanıldığında, bu üye alfa kanalının değerini tutar. Bu değer 0 ile 255 arasında olabilir ve 0 tamamen saydam ve 255 tamamen opak olabilir.

crEffect
COLORREF Parlama ve gölge efektleri için kullanılan değer.

Dönüş Değeri

TRUE resim başarıyla çizilirse; aksi takdirde FALSE.

Açıklamalar

Win32 yapısını kendiniz doldurmak istiyorsanız ilk sürümü kullanın. MFC'nin varsayılan bağımsız değişkenlerinden bir veya daha fazlasından yararlanmak veya yapıyı yönetmekten kaçınmak istiyorsanız ikinci sürümü kullanın.

Katman görüntüsü, bu üye işlevinde parametresi tarafından nImage belirtilen birincil görüntünün üzerine çizilmiş bir görüntüdür. Makro kullanılarak belirtilen katman maskesinin Draw tek tabanlı diziniyle üye işlevini kullanarak katman maskesi çizin INDEXTOOVERLAYMASK .

Örnek

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::EndDrag

Sürükleme işlemini sonlandırmak için bu işlevi çağır.

static void PASCAL EndDrag();

Açıklamalar

Sürükleme işlemine başlamak için üye işlevini kullanın BeginDrag .

Örnek

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::ExtractIcon

Görüntü listesinde bir görüntüyü ve ilgili maskesini temel alan bir simge oluşturmak için bu işlevi çağırın.

HICON ExtractIcon(int nImage);

Parametreler

nImage
Görüntünün sıfır tabanlı dizini.

Dönüş Değeri

Başarılı olursa simgenin tutamacı; aksi takdirde NULL.

Açıklamalar

Bu yöntem, simgeyi oluşturmak için makronun ImageList_ExtractIcon davranışına dayanır. ImageList_ExtractIcon Simge oluşturma ve temizleme hakkında daha fazla bilgi için makroya bakın.

Örnek

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::FromHandle

Görüntü listesine tanıtıcı CImageList verildiğinde nesneye yönelik bir işaretçi döndürür.

static CImageList* PASCAL FromHandle(HIMAGELIST hImageList);

Parametreler

hImageList
Görüntü listesini belirtir.

Dönüş Değeri

Başarılı olursa nesne CImageList işaretçisi; aksi takdirde NULL.

Açıklamalar

CImageList bir zaten tanıtıcıya bağlı değilse, geçici CImageList bir nesne oluşturulur ve eklenir. Bu geçici CImageList nesne, yalnızca uygulamanın olay döngüsünde boşta kalma süresine sahip olduğu ve tüm geçici nesnelerin silindiği bir sonraki zamana kadar geçerlidir.

Örnek

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

   return pmyImageList;
}

CImageList::FromHandlePermanent

Görüntü listesine tanıtıcı CImageList verildiğinde nesneye yönelik bir işaretçi döndürür.

static CImageList* PASCAL FromHandlePermanent(HIMAGELIST hImageList);

Parametreler

hImageList
Görüntü listesini belirtir.

Dönüş Değeri

Başarılı olursa nesne CImageList işaretçisi; aksi takdirde NULL.

Açıklamalar

Bir CImageList nesne tanıtıcıya bağlı değilse döndürülür NULL .

Örnek

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

   return pmyImageList;
}

CImageList::GetBkColor

Resim listesinin geçerli arka plan rengini almak için bu işlevi çağırın.

COLORREF GetBkColor() const;

Dönüş Değeri

Nesne arka plan renginin CImageList RGB renk değeri.

Örnek

örneğine CImageList::SetBkColorbakın.

CImageList::GetDragImage

Sürüklemek için kullanılan geçici görüntü listesini alır.

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

Parametreler

lpPoint
Geçerli sürükleme konumunu alan bir POINT yapının adresi.

lpPointHotSpot
Sürükleme görüntüsünün sürükleme konumuna göre uzaklığını alan bir POINT yapının adresi.

Dönüş Değeri

Başarılı olursa, sürüklemek için kullanılan geçici görüntü listesinin işaretçisi; aksi takdirde , NULL.

CImageList::GetImageCount

Resim listesindeki görüntü sayısını almak için bu işlevi çağırın.

int GetImageCount() const;

Dönüş Değeri

Resim sayısı.

Örnek

örneğine CImageList::ExtractIconbakın.

CImageList::GetImageInfo

Görüntü hakkındaki bilgileri almak için bu işlevi çağır.

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

Parametreler

nImage
Görüntünün sıfır tabanlı dizini.

pImageInfo
Görüntü hakkında bilgi alan bir IMAGEINFO yapı işaretçisi. Bu yapıdaki bilgiler, görüntünün bit eşlemlerini doğrudan işlemek için kullanılabilir.

Dönüş Değeri

Başarılı olursa sıfır olmayan; aksi takdirde 0.

Açıklamalar

Yapı, IMAGEINFO görüntü listesindeki bir görüntü hakkında bilgi içerir.

CImageList::GetSafeHandle

Veri üyesini almak için bu işlevi çağırın m_hImageList .

HIMAGELIST GetSafeHandle() const;

Dönüş Değeri

Ekli görüntü listesinin tutamacı; aksi takdirde NULL hiçbir nesne eklenmemişse.

Örnek

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

CImageList::m_hImageList

Bu nesneye eklenmiş görüntü listesinin tutamacı.

HIMAGELIST m_hImageList;

Açıklamalar

Veri m_hImageList üyesi türünde HIMAGELISTbir ortak değişkendir.

Örnek

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

CImageList::operator HIMAGELIST

Nesnenin ekli tutamacını CImageList almak için bu işleci kullanın.

operator HIMAGELIST() const;

Dönüş Değeri

Başarılı olursa, nesnesi tarafından temsil edilen görüntü listesinin tanıtıcısı CImageList ; aksi takdirde NULL.

Açıklamalar

Bu işleç, bir nesnenin doğrudan kullanımını destekleyen bir HIMAGELIST atama işlecidir.

Örnek

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

CImageList::Read

Arşivden bir resim listesini okumak için bu işlevi çağır.

BOOL Read(CArchive* pArchive);

Parametreler

pArchive
Resim listesinin okunacağı nesnenin CArchive işaretçisi.

Dönüş Değeri

Başarılı olursa sıfır olmayan; aksi takdirde 0.

Örnek

// 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::Remove

Görüntü listesi nesnesinden bir görüntüyü kaldırmak için bu işlevi çağır.

BOOL Remove(int nImage);

Parametreler

nImage
Kaldırılacak görüntünün sıfır tabanlı dizini.

Dönüş Değeri

Başarılı olursa sıfır olmayan; aksi takdirde 0.

Açıklamalar

İzleyen nImage tüm öğeler artık bir konum aşağı doğru ilerler. Örneğin, bir görüntü listesinde iki öğe varsa, ilk öğe silindiğinde kalan öğe artık ilk konumda olur. nImageİlk konumdaki öğe için =0.

Örnek

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

CImageList::Replace

Görüntü listesindeki bir görüntüyü yeni bir görüntüyle değiştirmek için bu işlevi çağırabilirsiniz.

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

int Replace(
    int nImage,
    HICON hIcon);

Parametreler

nImage
Değiştirilecek görüntünün sıfır tabanlı dizini.

pbmImage
Görüntüyü içeren bit eşlem işaretçisi.

pbmMask
Maskeyi içeren bit eşlem işaretçisi. Görüntü listesiyle maske kullanılmazsa, bu parametre yoksayılır.

hIcon
Yeni görüntü için bit eşlem ve maske içeren simge tutamacı.

Dönüş Değeri

Döndüren BOOL sürüm başarılı olursa sıfır dışı döndürür; aksi takdirde 0 döndürür.

Döndüren int sürüm, başarılı olursa görüntünün sıfır tabanlı dizinini döndürür; aksi takdirde - 1.

Açıklamalar

Yeni, geçerli görüntüleri yer tutucu görüntü dizin numaralarına atamak için çağırdıktan SetImageCount sonra bu üye işlevini çağırın.

Örnek

örneğine CImageList::SetImageCountbakın.

CImageList::SetBkColor

Resim listesinin arka plan rengini ayarlamak için bu işlevi çağırın.

COLORREF SetBkColor(COLORREF cr);

Parametreler

cr
Ayarlanacağı arka plan rengi. Olabilir CLR_NONE. Bu durumda, görüntüler maske kullanılarak saydam olarak çizilir.

Dönüş Değeri

Başarılı olursa önceki arka plan rengi; aksi takdirde CLR_NONE.

Örnek

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

CImageList::SetDragCursorImage

Verilen görüntüyü (genellikle fare imleci görüntüsü) geçerli sürükleme görüntüsüyle birleştirerek yeni bir sürükleme görüntüsü oluşturur.

BOOL SetDragCursorImage(
    int nDrag,
    CPoint ptHotSpot);

Parametreler

nDrag
Sürükle resmiyle birleştirilecek yeni görüntünün dizini.

ptHotSpot
Yeni görüntüdeki etkin noktanın konumu.

Dönüş Değeri

Başarılı olursa sıfır olmayan; aksi takdirde 0.

Açıklamalar

Sürükleme işlevleri bir sürükleme işlemi sırasında yeni görüntüyü kullandığından, çağrısı CImageList::SetDragCursorImageyaptıktan sonra gerçek fare imlecini gizlemek için Windows ShowCursor işlevini kullanmanız gerekir. Aksi takdirde, sistem sürükleme işlemi boyunca iki fare imlecine sahip gibi görünebilir.

CImageList::SetImageCount

Nesnedeki CImageList görüntü sayısını sıfırlamak için bu üye işlevini çağırın.

BOOL SetImageCount(UINT uNewCount);

Parametreler

uNewCount
Resim listesindeki yeni toplam görüntü sayısını belirten değer.

Dönüş Değeri

Başarılı olursa sıfır olmayan; aksi takdirde sıfır.

Açıklamalar

Resim listesindeki görüntü sayısını artırmak için bu üye işlevini çağırırsanız, yeni dizinleri geçerli görüntülere atamak için her ek görüntüyü çağırın Replace . Dizinleri geçerli görüntülere atamazsanız, yeni görüntüleri oluşturan çizim işlemleri tahmin edilemez.

Bu işlevi kullanarak bir görüntü listesinin boyutunu küçültürseniz, kesilen görüntüler serbest olur.

Örnek

// 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::SetOverlayImage

Bir görüntünün sıfır tabanlı dizinini katman maskeleri olarak kullanılacak görüntüler listesine eklemek için bu işlevi çağırın.

BOOL SetOverlayImage(
    int nImage,
    int nOverlay);

Parametreler

nImage
Katman maskesi olarak kullanılacak görüntünün sıfır tabanlı dizini.

nOverlay
Katman maskesinin tek tabanlı dizini.

Dönüş Değeri

Başarılı olursa sıfır olmayan; aksi takdirde 0.

Açıklamalar

Listeye en fazla dört dizin eklenebilir.

Katman maskesi, başka bir resmin üzerine saydam olarak çizilmiş bir resimdir. Makro kullanılarak belirtilen katman maskesinin CImageList::Draw tek tabanlı diziniyle üye işlevini kullanarak resmin üzerine katman maskesi çizin INDEXTOOVERLAYMASK .

Örnek

// 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::Write

Bir arşive görüntü listesi nesnesi yazmak için bu işlevi çağır.

BOOL Write(CArchive* pArchive);

Parametreler

pArchive
Görüntü listesinin depolandığı nesnenin CArchive işaretçisi.

Dönüş Değeri

Başarılı olursa sıfır olmayan; aksi takdirde 0.

Örnek

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

Ayrıca bkz.

CObject Sınıf
Hiyerarşi Grafiği
CListCtrl Sınıf
CTabCtrl Sınıf