Tentang Ikon
Sistem menggunakan ikon di seluruh antarmuka pengguna untuk mewakili objek seperti file, folder, pintasan, aplikasi, dan dokumen. Fungsi ikon memungkinkan aplikasi untuk membuat, memuat, menampilkan, mengatur, menganimasikan, dan menghancurkan ikon. Untuk informasi tentang menentukan ikon untuk jenis file, lihat ExtractIcon.
Gambaran umum ini menyediakan informasi tentang topik berikut:
Ikon Hot Spot
Salah satu piksel dalam ikon ditetapkan sebagai hot spot, yang merupakan titik sistem melacak dan mengenali sebagai posisi ikon. Titik pusat ikon biasanya adalah piksel yang terletak di tengah ikon. Jika Anda menggunakan fungsiCreateIconIndirect untuk membuat ikon, Anda dapat menentukan piksel apa pun untuk menjadi hot spot.
Tipe Ikon
Sistem operasi menyediakan serangkaian ikon standar yang tersedia untuk digunakan aplikasi apa pun kapan saja. File header perangkat pengembangan perangkat lunak (SDK) berisi pengidentifikasi ikon sistem — pengidentifikasi dimulai dengan awalan IDI_.
Nilai | Arti |
---|---|
IDI_APPLICATION MAKEINTRESOURCE(32512) |
ikon aplikasi default ![]() |
IDI_ERROR MAKEINTRESOURCE(32513) |
ikon Kesalahan ![]() |
IDI_QUESTION MAKEINTRESOURCE(32514) |
ikon tanda tanya ![]() |
IDI_WARNING MAKEINTRESOURCE(32515) |
ikon Peringatan ![]() |
IDI_INFORMATION MAKEINTRESOURCE(32516) |
ikon Informasi ![]() |
IDI_WINLOGO MAKEINTRESOURCE(32517) |
![]() |
IDI_SHIELD MAKEINTRESOURCE(32518) |
ikon perisai keamanan ![]() |
Lihat Panduan untuk informasi tentang penggunaan ikon standar yang direkomendasikan.
Selain itu, dimulai dengan Windows Vista, serangkaian ikon shell sistem standar tambahan tersedia melalui metode SHGetStockIconInfo.
Ikon kustom dirancang untuk digunakan dalam aplikasi tertentu dan dapat berupa desain apa pun. Pengguna dapat memuat ikon kustom dari file atau membuatnya pada run-time. Berikut ini adalah beberapa ikon kustom.
Ukuran Ikon
Sistem menggunakan empat ukuran ikon:
- Sistem kecil
- Sistem skala besar
- Shell kecil
- Shell besar
- Jumbo (memulai Windows Vista)
Ikon kecil sistem ditampilkan di keterangan jendela.
Lihat penskalaan ikon untuk rekomendasi tentang ukuran ikon pilihan untuk aplikasi Anda.
Untuk mengubah ukuran ikon kecil sistem
- Dari Panel Kontrol, klik Tampilan, lalu klik tab Tampilan.
- Pilih Tombol Keterangan dari daftar Item, lalu atur bidang Ukuran.
Untuk mendapatkan ukuran ikon kecil sistem
Ikon besar sistem terutama digunakan oleh aplikasi, tetapi juga ditampilkan dalam dialog Alt+Tab. Semua fungsi CreateIconFromResource, DrawIcon, ExtractAssociatedIcon, ExtractIcon, ExtractIconEx, dan LoadIcon menggunakan ikon besar sistem. Ukuran ikon besar sistem didefinisikan oleh driver video, oleh karena itu tidak dapat diubah.
Untuk mendapatkan ukuran ikon besar sistem
- Panggil GetSystemMetrics dengan SM_CXICON dan SM_CYICON.
CreateIcon, CreateIconFromResourceEx, CreateIconIndirect, dan fungsi SHGetFileInfo dapat digunakan untuk bekerja dengan ikon dalam ukuran selain sistem besar.
Ikon kecil shell digunakan di Windows Explorer dan dialog umum. Saat ini, secara otomatis diatur ke ukuran kecil sistem.
Untuk mendapatkan ukuran ikon kecil dari shell
- Gunakan fungsi SHGetFileInfo dengan
SHGFI_SHELLICONSIZE | SHGFI_SMALLICON
untuk mengambil handel ke daftar gambar sistem. - Kemudian panggil fungsi ImageList_GetIconSize untuk mendapatkan ukuran ikon.
Ikon besar shell digunakan pada desktop.
Untuk mengubah ukuran ikon besar
- Dari Panel Kontrol, klik Tampilan, lalu klik tab Penampilan,
- Pilih Ikon dari daftar Item, lalu atur bidang Ukuran (ukuran ini disimpan dalam registri, di bawah HKEY_CURRENT_USER\Control Panel, Desktop\WindowMetrics\Shell Icon Size).
- Klik tab Plus! lalu pilih kotak centang Gunakan Ikon Besar.
Untuk mengambil ukuran ikonnya yang besar dari shell
- Gunakan fungsi SHGetFileInfo dengan SHGFI_SHELLICONSIZE untuk mengambil handle dari daftar gambar sistem.
- Kemudian panggil fungsi ImageList_GetIconSize untuk mendapatkan ukuran ikon.
Saat mengisi strukturWNDCLASSEXyang akan digunakan dalam mendaftarkan kelas jendela Anda, atur anggota hIcon ke ikon besar sistem (biasanya 32x32) dan anggota hIconSm ke ikon kecil sistem (biasanya 16x16). Untuk informasi selengkapnya tentang ikon kelas, lihat ikon kelas .
Pembuatan Ikon
Ikon standar telah ditentukan sebelumnya, sehingga tidak perlu membuatnya. Untuk menggunakan ikon standar, sebuah aplikasi dapat memperoleh handle-nya dengan menggunakan fungsi LoadImage. Handle ikon adalah nilai unik dari tipe HICON yang mengidentifikasi ikon standar atau kustom.
Untuk membuat ikon kustom untuk aplikasi, Anda biasanya akan menggunakan aplikasi grafis dan menyertakan ICON Resource dalam file definisi sumber daya aplikasi. Pada waktu jalannya program, Anda dapat memanggil LoadIcon atau LoadImage untuk mengambil handle ke ikon. Sumber daya ikon dapat berisi sekelompok gambar untuk beberapa perangkat tampilan yang berbeda. LoadIcon dan LoadImage secara otomatis memilih ikon yang paling sesuai dari grup untuk perangkat tampilan saat ini.
Aplikasi juga dapat membuat ikon kustom pada run-time dengan menggunakan fungsiCreateIconIndirect, yang membuat ikon berdasarkan konten strukturICONINFO. Fungsi GetIconInfo mengisi struktur dengan koordinat hot-spot dan informasi tentang bitmask bitmap serta bitmap warna untuk ikon.
Aplikasi harus menerapkan ikon kustom sebagai sumber daya dan harus menggunakan LoadIcon atau LoadImage, daripada membuat ikon pada run-time. Menggunakan sumber daya ikon menghindari ketergantungan perangkat, menyederhanakan pelokalan, dan memungkinkan aplikasi berbagi bentuk ikon.
Fungsi CreateIconFromResourceEx memungkinkan aplikasi menelusuri sumber daya sistem dan membuat ikon dan kursor berdasarkan data sumber daya. CreateIconFromResourceEx membuat ikon berdasarkan data sumber daya biner dari file atau DLL lain yang dapat dieksekusi. Aplikasi harus mendahului fungsi ini dengan panggilan ke fungsiLookupIconIdFromDirectoryEx dan beberapa fungsi sumber daya. LookupIconIdFromDirectoryEx mengembalikan pengidentifikasi data ikon yang paling tepat untuk perangkat tampilan saat ini.
Tampilan Ikon
Anda dapat mengambil gambar untuk ikon dengan menggunakan fungsiGetIconInfo, dan dapat menggambarnya dengan menggunakan fungsiDrawIconEx. Untuk menggambar gambar default untuk sebuah ikon, tentukan flag DI_COMPAT dalam pemanggilan ke DrawIconEx. Jika Anda tidak menentukan bendera DI_COMPAT, DrawIconEx menggambar ikon menggunakan gambar yang ditentukan pengguna.
Ketika sistem menampilkan ikon, sistem harus mengekstrak gambar ikon yang sesuai dari file .exe atau .dll. Sistem menggunakan langkah-langkah berikut untuk memilih gambar ikon:
- Pilih sumber daya RT_GROUP_ICON. Jika ada lebih dari satu sumber daya tersebut, sistem menggunakan sumber daya pertama yang tercantum dalam skenario sumber daya.
- Pilih gambar RT_ICON yang sesuai dari sumber daya RT_GROUP_ICON. Jika ada lebih dari satu gambar, sistem menggunakan kriteria berikut untuk memilih gambar:
- Gambar yang paling dekat dengan ukuran yang diminta dipilih.
- Jika ada dua atau beberapa gambar dengan ukuran tersebut, gambar yang cocok dengan kedalaman warna tampilan dipilih.
- Jika tidak ada gambar yang sama persis dengan kedalaman warna tampilan, gambar dengan kedalaman warna terbesar yang tidak melebihi kedalaman warna tampilan dipilih. Jika semua melebihi kedalaman warna, yang memiliki kedalaman warna terendah dipilih.
Nota
Sistem memperlakukan semua kedalaman warna 8 atau lebih bpp sama. Oleh karena itu, tidak ada keuntungan termasuk gambar 16x16 256-color dan gambar 16x16 16-warna dalam sumber daya yang sama —sistem hanya akan memilih yang pertama yang ditemuinya. Ketika tampilan dalam mode 8 bpp, sistem akan memilih ikon 16 warna di atas ikon 256 warna, dan akan menampilkan semua ikon menggunakan palet default sistem.
Untuk menampilkan ikon animasi, gunakan kontrol statis seperti yang ditunjukkan dalam fragmen kode berikut.
hIcon = LoadImage(NULL, "ico.ani", IMAGE_ICON, 0, 0, LR_LOADFROMFILE);
SendMessage( hStatic, STM_SETIMAGE, IMAGE_ICON, (LPARAM)(UINT)hIcon);
Penghancuran Ikon
Ketika aplikasi tidak lagi memerlukan ikon yang dibuat dengan menggunakan fungsiCreateIconIndirect, aplikasi harus menghancurkan ikon. FungsiDestroyIcon menghancurkan handle ikon dan membebaskan segala memori yang digunakan oleh ikon. Aplikasi harus menggunakan fungsi ini hanya untuk ikon yang dibuat dengan CreateIconIndirect; tidak perlu menghancurkan ikon lain.
Duplikasi Ikon
Fungsi CopyIcon menyalin handle ikon. Ini memungkinkan aplikasi atau DLL untuk mendapatkan handle-nya sendiri ke ikon yang dimiliki oleh modul lain. Kemudian, jika modul lain dibebaskan, aplikasi yang menyalin ikon masih akan dapat menggunakan ikon .
Fungsi CopyImage membuat ikon baru berdasarkan ikon sumber yang ditentukan. Ikon baru bisa lebih besar atau lebih kecil dari ikon sumber.
Untuk informasi tentang menambahkan, menghapus, atau mengganti sumber daya ikon dalam file yang dapat dieksekusi (.exe), lihat sumber daya .
FungsiDuplikatIcon membuat salinan ikon yang sebenarnya.