Fungsi DwmSetIconicThumbnail (dwmapi.h)

Mengatur bitmap statis dan ikonik pada jendela atau tab untuk digunakan sebagai representasi gambar mini. Bilah tugas dapat menggunakan bitmap ini sebagai target sakelar gambar mini untuk jendela atau tab.

Sintaks

HRESULT DwmSetIconicThumbnail(
  [in] HWND    hwnd,
  [in] HBITMAP hbmp,
  [in] DWORD   dwSITFlags
);

Parameter

[in] hwnd

Handel ke jendela atau tab. Jendela ini harus termasuk dalam proses pemanggilan.

[in] hbmp

Handel ke bitmap untuk mewakili jendela yang ditentukan hwnd .

[in] dwSITFlags

Opsi tampilan untuk gambar mini. Salah satu dari nilai berikut:

0 (0x00000000)

Tidak ada bingkai yang ditampilkan di sekitar gambar mini yang disediakan.

DWM_SIT_DISPLAYFRAME (0x00000001)

Menampilkan bingkai di sekitar gambar mini yang disediakan.

Nilai kembali

Jika fungsi ini berhasil, fungsi akan mengembalikan S_OK. Jika tidak, kode kesalahan HRESULT akan dikembalikan.

Keterangan

Aplikasi biasanya memanggil fungsi DwmSetIconicThumbnail setelah menerima pesan WM_DWMSENDICONICTHUMBNAIL untuk jendelanya. Gambar mini tidak boleh melebihi koordinat x maksimum dan koordinat y yang ditentukan dalam pesan tersebut. Gambar mini juga harus memiliki kedalaman warna 32-bit.

Aplikasi memanggil DwmInvalidateIconicBitmaps untuk menunjukkan kepada Desktop Window Manager (DWM) bahwa gambar mini ikonik dan bitmap pratinjau langsung sudah kedaluarsa dan harus disegarkan. DWM kemudian meminta versi baru dari jendela saat diperlukan. Namun, jika cache bitmap DWM penuh, DWM tidak akan meminta versi yang diperbarui.

DWM menggunakan salinan bitmap, tetapi aplikasi dapat merilis salinan ini kapan saja karena kendala memori. Jika salinan dirilis, jendela tidak diberi tahu, tetapi mungkin menerima permintaan WM_DWMSENDICONICTHUMBNAIL berikutnya ketika gambar mininya diperlukan lagi. Pemanggil mempertahankan kepemilikan bitmap asli dan bertanggung jawab untuk membebaskan sumber daya yang digunakannya ketika tidak lagi diperlukan.

Contoh

Sebelum memanggil DwmSetIconicThumbnail, aplikasi harus terlebih dahulu memanggil fungsi DwmSetWindowAttribute untuk mengatur atribut DWMWA_FORCE_ICONIC_REPRESENTATION dan DWMWA_HAS_ICONIC_BITMAP , seperti yang ditunjukkan dalam contoh berikut.

            // Set DWM window attributes to provide the iconic bitmap, and 
            // to always render the thumbnail using the iconic bitmap.
            BOOL fForceIconic = TRUE;
            BOOL fHasIconicBitmap = TRUE;

            DwmSetWindowAttribute(
                hwnd,
                DWMWA_FORCE_ICONIC_REPRESENTATION,
                &fForceIconic,
                sizeof(fForceIconic));

            DwmSetWindowAttribute(
                hwnd,
                DWMWA_HAS_ICONIC_BITMAP,
                &fHasIconicBitmap,
                sizeof(fHasIconicBitmap));

Selanjutnya, aplikasi memanggil fungsi DwmSetIconicThumbnail sebagai respons terhadap pesan WM_DWMSENDICONICTHUMBNAIL , seperti yang ditunjukkan dalam contoh berikut.

        case WM_DWMSENDICONICTHUMBNAIL:
        {    
            // This window is being asked to provide its iconic bitmap. This indicates
            // a thumbnail is being drawn.
            hbm = CreateDIB(HIWORD(lParam), LOWORD(lParam)); 
            if (hbm)
            {
                hr = DwmSetIconicThumbnail(hwnd, hbm, 0);
                DeleteObject(hbm);
            }
        }
        break;

Untuk contoh kode lengkap, lihat Kustomisasi Gambar Mini Ikonik dan sampel Bitmap Pratinjau Langsung .

Persyaratan

   
Klien minimum yang didukung Windows 7 [hanya aplikasi desktop]
Server minimum yang didukung Windows Server 2008 R2 [hanya aplikasi desktop]
Target Platform Windows
Header dwmapi.h
Pustaka Dwmapi.lib
DLL Dwmapi.dll; Uxtheme.dll