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
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_Copy
Win32 , 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_SELECTED ILD_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);