Bagikan melalui


Fungsi LoadIconMetric (commctrl.h)

Memuat sumber daya ikon tertentu dengan metrik sistem yang ditentukan klien.

Sintaks

HRESULT LoadIconMetric(
  [in]  HINSTANCE hinst,
  [in]  PCWSTR    pszName,
  [in]  int       lims,
  [out] HICON     *phico
);

Parameter

[in] hinst

Jenis: HINSTANCE

Handel ke modul dll atau file yang dapat dieksekusi (.exe) yang berisi ikon yang akan dimuat. Untuk informasi selengkapnya, lihat GetModuleHandle.

Untuk memuat ikon sistem yang telah ditentukan sebelumnya atau file ikon mandiri, atur parameter ini ke NULL.

[in] pszName

Jenis: PCWSTR

Penunjuk ke buffer Unicode yang dihentikan null yang berisi informasi lokasi tentang ikon yang akan dimuat.

Jika hinst bukan NULL, pszName menentukan sumber daya ikon baik berdasarkan nama atau ordinal. Ordinal ini harus dikemas dengan menggunakan makro MAKEINTRESOURCE .

Jika hinst adalah NULL, pszName menentukan pengidentifikasi (dimulai dengan awalan IDI_) dari ikon sistem yang telah ditentukan sebelumnya untuk dimuat.

[in] lims

Jenis: int

Metrik yang diinginkan. Salah satu dari nilai berikut:

Nilai Makna
LIM_SMALL
Sesuai dengan SM_CXSMICON, lebar piksel yang direkomendasikan dari ikon kecil.
LIM_LARGE
Sesuai dengan SM_CXICON, lebar piksel default ikon.

[out] phico

Jenis: HICON*

Saat fungsi ini kembali, berisi penunjuk ke handel ikon yang dimuat.

Nilai kembali

Jenis: HRESULT

Mengembalikan S_OK jika berhasil, jika tidak, kesalahan, termasuk nilai berikut.

Menampilkan kode Deskripsi
E_INVALIDARG
Konten buffer yang ditujukan oleh pszName tidak sesuai dengan interpretasi yang diharapkan.

Keterangan

LoadIconMetric mirip dengan LoadIcon, tetapi dengan kemampuan untuk menentukan metrik ikon. Ini digunakan sebagai pengganti LoadIcon ketika aplikasi panggilan ingin memastikan ikon berkualitas tinggi. Ini sangat berguna dalam situasi titik tinggi per inci (dpi).

Ikon diekstrak atau dibuat sebagai berikut.

  1. Jika kecocokan ukuran yang tepat ditemukan di sumber daya, ikon tersebut digunakan.
  2. Jika kecocokan ukuran yang tepat tidak dapat ditemukan dan ikon yang lebih besar tersedia, ikon baru dibuat dengan menskalakan versi yang lebih besar ke ukuran yang diinginkan.
  3. Jika kecocokan ukuran yang tepat tidak dapat ditemukan dan tidak ada ikon yang lebih besar yang tersedia, ikon baru dibuat dengan menskalakan ikon yang lebih kecil hingga ukuran yang diinginkan.
Panggilan komparatif ditampilkan di sini untuk LoadIconMetric dan LoadIcon.
NOTIFYICONDATA  nidIconData  = {0};
nidIconData.hIcon = LoadIcon(hInstance, MAKEINTRESOURCE(IDI_ICON));

// Or...

HRESULT hr = LoadIconMetric(hInstance, MAKEINTRESOURCE(IDI_ICON), LIM_SMALL, &nidIconData.hIcon);

Aplikasi ini bertanggung jawab untuk memanggil DestroyIcon pada ikon yang diambil.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows Vista [hanya aplikasi desktop]
Server minimum yang didukung Windows Server 2008 [hanya aplikasi desktop]
Target Platform Windows
Header commctrl.h
Pustaka Comctl32.lib
DLL Comctl32.dll