Bagikan melalui


CImageList Kelas

Menyediakan fungsionalitas kontrol daftar gambar umum Windows.

Sintaks

class CImageList : public CObject

Anggota

Konstruktor Publik

Nama Deskripsi
CImageList::CImageList Membuat CImageList objek.

Metode Publik

Nama Deskripsi
CImageList::Add Menambahkan gambar atau gambar ke daftar gambar.
CImageList::Attach Melampirkan daftar gambar ke CImageList objek.
CImageList::BeginDrag Mulai menyeret gambar.
CImageList::Copy Menyalin gambar dalam CImageList objek.
CImageList::Create Menginisialisasi daftar gambar dan melampirkannya ke CImageList objek.
CImageList::DeleteImageList Menghapus daftar gambar.
CImageList::DeleteTempMap Dipanggil oleh handler CWinApp idle-time untuk menghapus objek sementara CImageList yang dibuat oleh FromHandle.
CImageList::Detach Mencopot objek daftar gambar dari CImageList objek dan mengembalikan handel ke daftar gambar.
CImageList::DragEnter Mengunci pembaruan selama operasi seret dan menampilkan gambar seret pada posisi tertentu.
CImageList::DragLeave Membuka kunci jendela dan menyembunyikan gambar seret sehingga jendela dapat diperbarui.
CImageList::DragMove Memindahkan gambar yang sedang diseret selama operasi seret dan letakkan.
CImageList::DragShowNolock Memperlihatkan atau menyembunyikan gambar seret selama operasi seret, tanpa mengunci jendela.
CImageList::Draw Menggambar gambar yang sedang diseret selama operasi seret dan letakkan.
CImageList::DrawEx Menggambar item daftar gambar dalam konteks perangkat yang ditentukan. Fungsi ini menggunakan gaya gambar yang ditentukan dan memadukan gambar dengan warna yang ditentukan.
CImageList::DrawIndirect Menggambar gambar dari daftar gambar.
CImageList::EndDrag Mengakhiri operasi seret.
CImageList::ExtractIcon Membuat ikon berdasarkan gambar dan masker dalam daftar gambar.
CImageList::FromHandle Mengembalikan penunjuk ke CImageList objek saat diberikan handel ke daftar gambar. CImageList Jika objek tidak dilampirkan ke handel, objek sementara CImageList dibuat dan dilampirkan.
CImageList::FromHandlePermanent Mengembalikan penunjuk ke CImageList objek saat diberikan handel ke daftar gambar. CImageList Jika objek tidak dilampirkan ke handel, NULL dikembalikan.
CImageList::GetBkColor Mengambil warna latar belakang saat ini untuk daftar gambar.
CImageList::GetDragImage Mendapatkan daftar gambar sementara yang digunakan untuk menyeret.
CImageList::GetImageCount Mengambil jumlah gambar dalam daftar gambar.
CImageList::GetImageInfo Mengambil informasi tentang gambar.
CImageList::GetSafeHandle Mengambil m_hImageList.
CImageList::Read Membaca daftar gambar dari arsip.
CImageList::Remove Menghapus gambar dari daftar gambar.
CImageList::Replace Mengganti gambar dalam daftar gambar dengan gambar baru.
CImageList::SetBkColor Mengatur warna latar belakang untuk daftar gambar.
CImageList::SetDragCursorImage Membuat gambar seret baru.
CImageList::SetImageCount Mengatur ulang jumlah gambar dalam daftar gambar.
CImageList::SetOverlayImage Menambahkan indeks gambar berbasis nol ke daftar gambar yang akan digunakan sebagai masker overlay.
CImageList::Write Menulis daftar gambar ke arsip.

Operator Publik

Nama Deskripsi
CImageList::operator HIMAGELIST Mengembalikan yang HIMAGELIST dilampirkan ke CImageList.

Anggota Data Publik

Nama Deskripsi
CImageList::m_hImageList Handel yang berisi daftar gambar yang dilampirkan ke objek ini.

Keterangan

"Daftar gambar" adalah kumpulan gambar berukuran sama, yang masing-masing dapat dirujuk oleh indeks berbasis nol. Daftar gambar digunakan untuk mengelola kumpulan ikon atau bitmap yang besar secara efisien. Semua gambar dalam daftar gambar terkandung dalam satu bitmap lebar dalam format perangkat layar. Daftar gambar juga dapat menyertakan bitmap monokrom yang berisi masker yang digunakan untuk menggambar gambar secara transparan (gaya ikon). Antarmuka pemrograman aplikasi (API) Microsoft Win32 menyediakan fungsi daftar gambar yang memungkinkan Anda menggambar, membuat dan menghancurkan daftar gambar, menambahkan dan menghapus gambar, mengganti gambar, menggabungkan gambar, dan menyeret gambar.

Kontrol ini (dan oleh karena itu CImageList kelas) hanya tersedia untuk program yang berjalan di bawah Windows 95/98 dan Windows NT versi 3.51 dan yang lebih baru.

Untuk informasi selengkapnya tentang menggunakan CImageList, lihat Kontrol dan Menggunakan CImageList.

Hierarki Warisan

CObject

CImageList

Persyaratan

Header: afxcmn.h

CImageList::Add

Panggil fungsi ini untuk menambahkan satu atau beberapa gambar atau ikon ke daftar gambar.

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

int Add(
    CBitmap* pbmImage,
    COLORREF crMask);

int Add(HICON hIcon);

Parameter

pbmImage
Penunjuk ke bitmap yang berisi gambar atau gambar. Jumlah gambar disimpulkan dari lebar bitmap.

pbmMask
Arahkan ke bitmap yang berisi masker. Jika tidak ada masker yang digunakan dengan daftar gambar, parameter ini diabaikan.

crMask
Warna yang digunakan untuk menghasilkan masker. Setiap piksel warna ini dalam bitmap yang diberikan diubah menjadi hitam dan bit yang sesuai dalam masker diatur ke satu.

hIcon
Handel ikon yang berisi bitmap dan mask untuk gambar baru.

Tampilkan Nilai

Indeks berbasis nol dari gambar baru pertama jika berhasil; jika tidak - 1.

Keterangan

Anda bertanggung jawab untuk merilis handel ikon ketika Anda selesai dengannya.

Contoh

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

Panggil fungsi ini untuk melampirkan daftar gambar ke CImageList objek.

BOOL Attach(HIMAGELIST hImageList);

Parameter

hImageList
Handel ke objek daftar gambar.

Tampilkan Nilai

Bukan nol jika lampiran berhasil; jika tidak, 0.

Contoh

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

Panggil fungsi ini untuk mulai menyeret gambar.

BOOL BeginDrag(
    int nImage,
    CPoint ptHotSpot);

Parameter

nImage
Indeks gambar berbasis nol untuk diseret.

ptHotSpot
Koordinat posisi seret awal (biasanya, posisi kursor). Koordinat relatif terhadap sudut kiri atas gambar.

Tampilkan Nilai

Bukan nol jika berhasil; jika tidak, 0.

Keterangan

Fungsi ini membuat daftar gambar sementara yang digunakan untuk menyeret. Gambar menggabungkan gambar yang ditentukan dan maskernya dengan kursor saat ini. Sebagai respons terhadap pesan berikutnya WM_MOUSEMOVE , Anda dapat memindahkan gambar seret dengan menggunakan DragMove fungsi anggota. Untuk mengakhiri operasi seret, Anda dapat menggunakan EndDrag fungsi anggota.

Contoh

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

Membuat CImageList objek.

CImageList();

CImageList::Copy

Fungsi anggota ini mengimplementasikan perilaku fungsi ImageList_CopyWin32 , seperti yang dijelaskan dalam Windows SDK.

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

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

Parameter

iDst
Indeks gambar berbasis nol yang akan digunakan sebagai tujuan operasi penyalinan.

iSrc
Indeks berbasis nol gambar yang akan digunakan sebagai sumber operasi penyalinan.

uFlags
Nilai bendera bit yang menentukan jenis operasi salin yang akan dibuat. Parameter ini bisa menjadi salah satu nilai berikut:

Nilai Makna
ILCF_MOVE Gambar sumber disalin ke indeks gambar tujuan. Operasi ini menghasilkan beberapa instans gambar tertentu. ILCF_MOVE adalah defaultnya.
ILCF_SWAP Gambar sumber dan tujuan bertukar posisi dalam daftar gambar.

pSrc
Penunjuk ke CImageList objek yang merupakan target operasi penyalinan.

Tampilkan Nilai

Bukan nol jika berhasil; jika tidak, nol.

Contoh

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

Menginisialisasi daftar gambar dan melampirkannya ke CImageList objek.

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

Parameter

cx
Dimensi setiap gambar, dalam piksel.

cy
Dimensi setiap gambar, dalam piksel.

nFlags
Menentukan tipe daftar gambar yang akan dibuat. Parameter ini bisa menjadi kombinasi dari nilai berikut, tetapi hanya dapat menyertakan salah ILC_COLOR satu nilai.

Nilai Makna
ILC_COLOR Gunakan perilaku default jika tidak ada bendera lain ILC_COLOR* yang ditentukan. Biasanya, defaultnya adalah ILC_COLOR4; tetapi untuk driver tampilan yang lebih lama, defaultnya adalah ILC_COLORDDB.
ILC_COLOR4 Gunakan bagian bitmap independen perangkat (DIB) 4-bit (16 warna) sebagai bitmap untuk daftar gambar.
ILC_COLOR8 Gunakan bagian DIB 8-bit. Warna yang digunakan untuk tabel warna adalah warna yang sama dengan palet halftone.
ILC_COLOR16 Gunakan bagian DIB 16-bit (warna 32/64k).
ILC_COLOR24 Gunakan bagian DIB 24-bit.
ILC_COLOR32 Gunakan bagian DIB 32-bit.
ILC_COLORDDB Gunakan bitmap yang bergantung pada perangkat.
ILC_MASK Menggunakan masker. Daftar gambar berisi dua bitmap, salah satunya adalah bitmap monokrom yang digunakan sebagai masker. Jika nilai ini tidak disertakan, daftar gambar hanya berisi satu bitmap. Lihat Menggambar Gambar dari Daftar Gambar untuk informasi tambahan tentang gambar bertopeng.

nInitial
Jumlah gambar yang awalnya berisi daftar gambar.

nGrow
Jumlah gambar di mana daftar gambar dapat bertambah ketika sistem perlu mengubah ukuran daftar untuk memberi ruang bagi gambar baru. Parameter ini menunjukkan jumlah gambar baru yang dapat dimuat oleh daftar gambar yang diubah ukurannya.

nBitmapID
ID sumber daya bitmap yang akan dikaitkan dengan daftar gambar.

crMask
Warna yang digunakan untuk menghasilkan masker. Setiap piksel warna ini dalam bitmap yang ditentukan diubah menjadi hitam, dan bit yang sesuai dalam masker diatur ke satu.

lpszBitmapID
String yang berisi ID sumber daya gambar.

imagelist1
Referensi ke CImageList objek.

nImage1
Indeks gambar pertama yang ada.

imagelist2
Referensi ke CImageList objek.

nImage2
Indeks gambar kedua yang ada.

dx
Offset sumbu x gambar kedua dalam hubungan dengan gambar pertama, dalam piksel.

dy
Offset sumbu y gambar kedua dalam hubungan dengan gambar pertama, dalam piksel.

pImageList
Penunjuk ke CImageList objek.

Tampilkan Nilai

Bukan nol jika berhasil; jika tidak, 0.

Keterangan

Anda membangun CImageList dalam dua langkah. Pertama, panggil konstruktor lalu panggil Create, yang membuat daftar gambar dan melampirkannya ke CImageList objek.

Contoh

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

CImageList::DeleteImageList

Panggil fungsi ini untuk menghapus daftar gambar.

BOOL DeleteImageList();

Tampilkan Nilai

Bukan nol jika berhasil; jika tidak, 0.

Contoh

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

CImageList::DeleteTempMap

Dipanggil secara otomatis oleh CWinApp handler idle-time, DeleteTempMap menghapus objek sementara CImageList yang dibuat oleh FromHandle, tetapi tidak menghancurkan handel apa pun ( hImageList) yang sementara dikaitkan dengan ImageList objek.

static void PASCAL DeleteTempMap();

Contoh

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

CImageList::Detach

Panggil fungsi ini untuk melepaskan objek daftar gambar dari CImageList objek.

HIMAGELIST Detach();

Tampilkan Nilai

Handel ke objek daftar gambar.

Keterangan

Fungsi ini mengembalikan handel ke objek daftar gambar.

Contoh

Lihat contoh untuk CImageList::Attach.

CImageList::DragEnter

Selama operasi seret, mengunci pembaruan ke jendela yang ditentukan oleh pWndLock dan menampilkan gambar seret pada posisi yang ditentukan oleh point.

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

Parameter

pWndLock
Penunjuk ke jendela yang memiliki gambar seret.

point
Posisi untuk menampilkan gambar seret. Koordinat relatif terhadap sudut kiri atas jendela (bukan area klien).

Tampilkan Nilai

Bukan nol jika berhasil; jika tidak, 0.

Keterangan

Koordinat relatif terhadap sudut kiri atas jendela, jadi Anda harus mengimbangi lebar elemen jendela, seperti batas, bilah judul, dan bilah menu, saat menentukan koordinat.

Jika pWndLock adalah NULL, fungsi ini menggambar gambar dalam konteks tampilan yang terkait dengan jendela desktop, dan koordinat relatif terhadap sudut kiri atas layar.

Fungsi ini mengunci semua pembaruan lain ke jendela yang diberikan selama operasi seret. Jika Anda perlu melakukan gambar apa pun selama operasi seret, seperti menyoroti target operasi seret dan letakkan, Anda dapat menyembunyikan gambar yang diseret untuk sementara waktu dengan menggunakan CImageList::DragLeave fungsi .

Contoh

Lihat contoh untuk CImageList::BeginDrag.

CImageList::DragLeave

Membuka kunci jendela yang ditentukan oleh pWndLock dan menyembunyikan gambar seret, memungkinkan jendela diperbarui.

static BOOL PASCAL DragLeave(CWnd* pWndLock);

Parameter

pWndLock
Penunjuk ke jendela yang memiliki gambar seret.

Tampilkan Nilai

Bukan nol jika berhasil; jika tidak, 0.

Contoh

Lihat contoh untuk CImageList::EndDrag.

CImageList::DragMove

Panggil fungsi ini untuk memindahkan gambar yang sedang diseret selama operasi seret dan letakkan.

static BOOL PASCAL DragMove(CPoint pt);

Parameter

pt
Posisi seret baru.

Tampilkan Nilai

Bukan nol jika berhasil; jika tidak, 0.

Keterangan

Fungsi ini biasanya dipanggil sebagai respons terhadap pesan WM_MOUSEMOVE . Untuk memulai operasi seret, gunakan BeginDrag fungsi anggota.

Contoh

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

   CDialog::OnMouseMove(nFlags, point);
}

CImageList::DragShowNolock

Memperlihatkan atau menyembunyikan gambar seret selama operasi seret, tanpa mengunci jendela.

static BOOL PASCAL DragShowNolock(BOOL bShow);

Parameter

bShow
Menentukan apakah gambar seret akan ditampilkan.

Tampilkan Nilai

Bukan nol jika berhasil; jika tidak, 0.

Keterangan

Fungsi CImageList::DragEnter mengunci semua pembaruan ke jendela selama operasi seret. Namun, fungsi ini tidak mengunci jendela.

CImageList::Draw

Panggil fungsi ini untuk menggambar gambar yang sedang diseret selama operasi seret dan letakkan.

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

Parameter

pDC
Arahkan ke konteks perangkat tujuan.

nImage
Indeks gambar berbasis nol untuk digambar.

pt
Lokasi untuk menggambar dalam konteks perangkat yang ditentukan.

nStyle
Bendera yang menentukan gaya menggambar. Ini bisa berupa satu atau beberapa nilai ini:

Nilai Makna
ILD_BLEND25, ILD_FOCUS Gambar, memadukan 25 persen dengan warna sorotan sistem. Nilai ini tidak berpengaruh jika daftar gambar tidak berisi masker.
ILD_BLEND50, , ILD_SELECTEDILD_BLEND Menggambar gambar, memadukan 50 persen dengan warna sorotan sistem. Nilai ini tidak berpengaruh jika daftar gambar tidak berisi masker.
ILD_MASK Menggambar topeng.
ILD_NORMAL Gambar gambar menggunakan warna latar belakang untuk daftar gambar. Jika warna latar belakang adalah CLR_NONE nilainya, gambar digambar secara transparan menggunakan masker.
ILD_TRANSPARENT Menggambar gambar secara transparan menggunakan masker, terlepas dari warna latar belakangnya.

Tampilkan Nilai

Bukan nol jika berhasil; jika tidak, 0.

Contoh

Lihat contoh untuk CImageList::SetOverlayImage.

CImageList::DrawEx

Menggambar item daftar gambar dalam konteks perangkat yang ditentukan.

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

Parameter

pDC
Arahkan ke konteks perangkat tujuan.

nImage
Indeks gambar berbasis nol untuk digambar.

pt
Lokasi untuk menggambar dalam konteks perangkat yang ditentukan.

sz
Ukuran bagian gambar untuk menggambar relatif terhadap sudut kiri atas gambar. Lihat dx dan dy di ImageList_DrawEx Windows SDK.

clrBk
Warna latar belakang gambar. Lihat rgbBk di ImageList_DrawEx Windows SDK.

clrFg
Warna latar depan gambar. Lihat rgbFg di ImageList_DrawEx Windows SDK.

nStyle
Bendera yang menentukan gaya menggambar. Lihat fStyle di ImageList_DrawEx Windows SDK.

Tampilkan Nilai

Bukan nol jika berhasil; jika tidak, 0.

Keterangan

Fungsi ini menggunakan gaya gambar yang ditentukan dan memadukan gambar dengan warna yang ditentukan.

Contoh

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

CImageList::DrawIndirect

Panggil fungsi anggota ini untuk menggambar gambar dari daftar gambar.

BOOL DrawIndirect(IMAGELISTDRAWPARAMS* pimldp);

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

Parameter

pimldp
Penunjuk ke IMAGELISTDRAWPARAMS struktur yang berisi informasi tentang operasi gambar.

pDC
Penunjuk ke konteks perangkat tujuan. Anda harus menghapus objek ini CDC bila sudah selesai.

nImage
Indeks berbasis nol gambar yang akan digambar.

pt
Struktur POINT yang berisi koordinat x- dan y- tempat gambar akan digambar.

sz
Struktur SIZE yang menunjukkan ukuran gambar yang akan digambar.

ptOrigin
POINT Struktur yang berisi koordinat x dan y yang menentukan sudut kiri atas operasi gambar sehubungan dengan gambar itu sendiri. Piksel gambar yang berada di sebelah kiri koordinat x dan di atas koordinat y tidak digambar.

fStyle
Bendera yang menentukan gaya menggambar dan, secara opsional, gambar overlay. Lihat bagian Keterangan untuk informasi tentang gambar overlay. Implementasi default MFC, ILD_NORMAL, menggambar gambar menggunakan warna latar belakang untuk daftar gambar. Jika warna latar belakang adalah CLR_NONE nilainya, gambar digambar secara transparan menggunakan masker.

Gaya lain yang mungkin dijelaskan di fStyle bawah anggota IMAGELISTDRAWPARAMS struktur.

dwRop
Nilai yang menentukan kode operasi raster. Kode ini menentukan bagaimana data warna untuk persegi panjang sumber akan dikombinasikan dengan data warna untuk persegi panjang tujuan untuk mencapai warna akhir. Implementasi default MFC, SRCCOPY, menyalin persegi panjang sumber langsung ke persegi panjang tujuan. Parameter ini diabaikan jika fStyle parameter tidak menyertakan ILD_ROP bendera.

Nilai lain yang mungkin dijelaskan di dwRop bawah anggota IMAGELISTDRAWPARAMS struktur.

rgbBack
Warna latar belakang gambar, secara default CLR_DEFAULT. Parameter ini dapat berupa nilai RGB yang ditentukan aplikasi atau salah satu nilai berikut:

Nilai Makna
CLR_DEFAULT Warna latar belakang default. Gambar digambar menggunakan warna latar belakang daftar gambar.
CLR_NONE Tidak ada warna latar belakang. Gambar digambar secara transparan.

rgbFore
Warna latar depan gambar, secara default CLR_DEFAULT. Parameter ini dapat berupa nilai RGB yang ditentukan aplikasi atau salah satu nilai berikut:

Nilai Makna
CLR_DEFAULT Warna latar depan default. Gambar digambar menggunakan warna sorotan sistem sebagai warna latar depan.
CLR_NONE Tidak ada warna campuran. Gambar dipadukan dengan warna konteks perangkat tujuan.

Parameter ini hanya digunakan jika fStyle menyertakan ILD_BLEND25 bendera atau ILD_BLEND50 .

fState
Bendera yang menentukan status gambar. Anggota ini dapat berisi satu atau beberapa bendera status daftar gambar.

Frame
Mempengaruhi perilaku efek jenuh dan alpha-blending.

Saat digunakan dengan ILS_SATURATE, anggota ini menyimpan nilai yang ditambahkan ke setiap komponen warna triplet RGB untuk setiap piksel dalam ikon.

Saat digunakan dengan ILS_APLHA, anggota ini menyimpan nilai untuk saluran alfa. Nilai ini bisa dari 0 hingga 255, dengan 0 benar-benar transparan, dan 255 benar-benar buram.

crEffect
Nilai yang COLORREF digunakan untuk efek cahaya dan bayangan.

Tampilkan Nilai

TRUE jika gambar berhasil digambar; jika tidak FALSE.

Keterangan

Gunakan versi pertama jika Anda ingin mengisi struktur Win32 sendiri. Gunakan versi kedua jika Anda ingin memanfaatkan satu atau beberapa argumen default MFC, atau hindari mengelola struktur.

Gambar overlay adalah gambar yang digambar di atas gambar utama, yang ditentukan dalam fungsi anggota ini oleh nImage parameter . Gambar masker overlay dengan menggunakan Draw fungsi anggota dengan indeks berbasis satu masker overlay yang ditentukan dengan menggunakan INDEXTOOVERLAYMASK makro.

Contoh

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

Panggil fungsi ini untuk mengakhiri operasi seret.

static void PASCAL EndDrag();

Keterangan

Untuk memulai operasi seret, gunakan BeginDrag fungsi anggota.

Contoh

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

Panggil fungsi ini untuk membuat ikon berdasarkan gambar dan masker terkait dalam daftar gambar.

HICON ExtractIcon(int nImage);

Parameter

nImage
Indeks gambar berbasis nol.

Tampilkan Nilai

Handel ikon jika berhasil; jika tidak NULL.

Keterangan

Metode ini bergantung pada perilaku ImageList_ExtractIcon makro untuk membuat ikon. ImageList_ExtractIcon Lihat makro untuk informasi selengkapnya tentang pembuatan dan pembersihan ikon.

Contoh

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

Mengembalikan penunjuk ke CImageList objek saat diberikan handel ke daftar gambar.

static CImageList* PASCAL FromHandle(HIMAGELIST hImageList);

Parameter

hImageList
Menentukan daftar gambar.

Tampilkan Nilai

Penunjuk ke CImageList objek jika berhasil; jika tidak NULL.

Keterangan

CImageList Jika belum dilampirkan ke handel, objek sementara CImageList dibuat dan dilampirkan. Objek sementara CImageList ini hanya berlaku sampai waktu berikutnya aplikasi memiliki waktu menganggur dalam perulangan peristiwanya, di mana semua objek sementara dihapus.

Contoh

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

Mengembalikan penunjuk ke CImageList objek saat diberikan handel ke daftar gambar.

static CImageList* PASCAL FromHandlePermanent(HIMAGELIST hImageList);

Parameter

hImageList
Menentukan daftar gambar.

Tampilkan Nilai

Penunjuk ke CImageList objek jika berhasil; jika tidak NULL.

Keterangan

CImageList Jika objek tidak dilampirkan ke handel, NULL akan dikembalikan.

Contoh

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

Panggil fungsi ini untuk mengambil warna latar belakang saat ini untuk daftar gambar.

COLORREF GetBkColor() const;

Tampilkan Nilai

Nilai warna RGB dari CImageList warna latar belakang objek.

Contoh

Lihat contoh untuk CImageList::SetBkColor.

CImageList::GetDragImage

Mendapatkan daftar gambar sementara yang digunakan untuk menyeret.

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

Parameter

lpPoint
POINT Alamat struktur yang menerima posisi seret saat ini.

lpPointHotSpot
POINT Alamat struktur yang menerima offset gambar seret relatif terhadap posisi seret.

Tampilkan Nilai

Jika berhasil, penunjuk ke daftar gambar sementara yang digunakan untuk menyeret; jika tidak, NULL.

CImageList::GetImageCount

Panggil fungsi ini untuk mengambil jumlah gambar dalam daftar gambar.

int GetImageCount() const;

Tampilkan Nilai

Jumlah gambar.

Contoh

Lihat contoh untuk CImageList::ExtractIcon.

CImageList::GetImageInfo

Panggil fungsi ini untuk mengambil informasi tentang gambar.

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

Parameter

nImage
Indeks gambar berbasis nol.

pImageInfo
Penunjuk IMAGEINFO ke struktur yang menerima informasi tentang gambar. Informasi dalam struktur ini dapat digunakan untuk memanipulasi bitmap secara langsung untuk gambar.

Tampilkan Nilai

Bukan nol jika berhasil; jika tidak, 0.

Keterangan

Struktur IMAGEINFO berisi informasi tentang gambar dalam daftar gambar.

CImageList::GetSafeHandle

Panggil fungsi ini untuk mengambil m_hImageList anggota data.

HIMAGELIST GetSafeHandle() const;

Tampilkan Nilai

Handel ke daftar gambar terlampir; jika tidak NULL , jika tidak ada objek yang terpasang.

Contoh

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

CImageList::m_hImageList

Handel daftar gambar yang dilampirkan ke objek ini.

HIMAGELIST m_hImageList;

Keterangan

Anggota m_hImageList data adalah variabel publik jenis HIMAGELIST.

Contoh

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

CImageList::operator HIMAGELIST

Gunakan operator ini untuk mendapatkan handel objek yang CImageList terlampir.

operator HIMAGELIST() const;

Tampilkan Nilai

Jika berhasil, handel ke daftar gambar yang diwakili oleh CImageList objek; jika tidak NULL.

Keterangan

Operator ini adalah operator transmisi, yang mendukung penggunaan HIMAGELIST langsung objek.

Contoh

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

CImageList::Read

Panggil fungsi ini untuk membaca daftar gambar dari arsip.

BOOL Read(CArchive* pArchive);

Parameter

pArchive
Penunjuk ke CArchive objek tempat daftar gambar akan dibaca.

Tampilkan Nilai

Bukan nol jika berhasil; jika tidak, 0.

Contoh

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

Panggil fungsi ini untuk menghapus gambar dari objek daftar gambar.

BOOL Remove(int nImage);

Parameter

nImage
Indeks gambar berbasis nol yang akan dihapus.

Tampilkan Nilai

Bukan nol jika berhasil; jika tidak, 0.

Keterangan

Semua item berikut nImage sekarang berpindah ke bawah satu posisi. Misalnya, jika daftar gambar berisi dua item, menghapus item pertama akan menyebabkan item yang tersisa sekarang berada di posisi pertama. nImage=0 untuk item di posisi pertama.

Contoh

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

CImageList::Replace

Panggil fungsi ini untuk mengganti gambar dalam daftar gambar dengan gambar baru.

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

int Replace(
    int nImage,
    HICON hIcon);

Parameter

nImage
Indeks gambar berbasis nol untuk diganti.

pbmImage
Penunjuk ke bitmap yang berisi gambar.

pbmMask
Penunjuk ke bitmap yang berisi masker. Jika tidak ada masker yang digunakan dengan daftar gambar, parameter ini diabaikan.

hIcon
Handel ke ikon yang berisi bitmap dan mask untuk gambar baru.

Tampilkan Nilai

Versi yang BOOL mengembalikan mengembalikan bukan nol jika berhasil; jika tidak, 0.

Versi yang int mengembalikan mengembalikan indeks gambar berbasis nol jika berhasil; jika tidak - 1.

Keterangan

Panggil fungsi anggota ini setelah memanggil SetImageCount untuk menetapkan gambar baru yang valid ke nomor indeks gambar tempat penampung.

Contoh

Lihat contoh untuk CImageList::SetImageCount.

CImageList::SetBkColor

Panggil fungsi ini untuk mengatur warna latar belakang untuk daftar gambar.

COLORREF SetBkColor(COLORREF cr);

Parameter

cr
Warna latar belakang untuk diatur. Bisa jadi CLR_NONE. Dalam hal ini, gambar digambar secara transparan menggunakan masker.

Tampilkan Nilai

Warna latar belakang sebelumnya jika berhasil; jika tidak CLR_NONE.

Contoh

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

CImageList::SetDragCursorImage

Membuat gambar seret baru dengan menggabungkan gambar yang diberikan (biasanya gambar kursor mouse) dengan gambar seret saat ini.

BOOL SetDragCursorImage(
    int nDrag,
    CPoint ptHotSpot);

Parameter

nDrag
Indeks gambar baru yang akan dikombinasikan dengan gambar seret.

ptHotSpot
Posisi hot spot dalam gambar baru.

Tampilkan Nilai

Bukan nol jika berhasil; jika tidak, 0.

Keterangan

Karena fungsi penyeretan menggunakan gambar baru selama operasi seret, Anda harus menggunakan fungsi Windows ShowCursor untuk menyembunyikan kursor mouse aktual setelah memanggil CImageList::SetDragCursorImage. Jika tidak, sistem mungkin tampak memiliki dua kursor mouse selama durasi operasi seret.

CImageList::SetImageCount

Panggil fungsi anggota ini untuk mengatur ulang jumlah gambar dalam objek CImageList .

BOOL SetImageCount(UINT uNewCount);

Parameter

uNewCount
Nilai yang menentukan jumlah total gambar baru dalam daftar gambar.

Tampilkan Nilai

Bukan nol jika berhasil; jika tidak, nol.

Keterangan

Jika Anda memanggil fungsi anggota ini untuk meningkatkan jumlah gambar dalam daftar gambar, panggil Replace setiap gambar tambahan untuk menetapkan indeks baru ke gambar yang valid. Jika Anda gagal menetapkan indeks ke gambar yang valid, operasi gambar yang membuat gambar baru tidak akan dapat diprediksi.

Jika Anda mengurangi ukuran daftar gambar dengan menggunakan fungsi ini, gambar yang dipotong akan dibesarkan.

Contoh

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

Panggil fungsi ini untuk menambahkan indeks gambar berbasis nol ke daftar gambar yang akan digunakan sebagai masker overlay.

BOOL SetOverlayImage(
    int nImage,
    int nOverlay);

Parameter

nImage
Indeks gambar berbasis nol untuk digunakan sebagai masker overlay.

nOverlay
Indeks berbasis satu masker overlay.

Tampilkan Nilai

Bukan nol jika berhasil; jika tidak, 0.

Keterangan

Hingga empat indeks dapat ditambahkan ke daftar.

Masker overlay adalah gambar yang digambar secara transparan di atas gambar lain. Gambar masker overlay di atas gambar dengan menggunakan CImageList::Draw fungsi anggota dengan indeks berbasis satu masker overlay yang ditentukan dengan menggunakan INDEXTOOVERLAYMASK makro.

Contoh

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

Panggil fungsi ini untuk menulis objek daftar gambar ke arsip.

BOOL Write(CArchive* pArchive);

Parameter

pArchive
Penunjuk ke CArchive objek tempat daftar gambar akan disimpan.

Tampilkan Nilai

Bukan nol jika berhasil; jika tidak, 0.

Contoh

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

Lihat juga

CObject Kelas
Bagan Hierarki
CListCtrl Kelas
CTabCtrl Kelas