Mendukung Tema Kontras Tinggi

Topik ini membandingkan dukungan untuk tema kontras tinggi di Windows 8 dengan versi Windows sebelumnya, dan menjelaskan cara mendukung tema kontras tinggi dalam aplikasi Windows 8.

Ini termasuk bagian berikut.

Gambaran Umum Dukungan untuk Tema Kontras Tinggi

Windows 7 dan yang lebih lama mendukung dua model tema, termasuk model klasik Windows warisan, dan gaya visual saat ini. Model klasik Windows telah dipertahankan melalui Windows 7 terutama untuk mendukung berbagai tema kontras tinggi. Namun, model klasik Windows memiliki sejumlah kelemahan:

  • Tidak ada dukungan untuk tema yang menggunakan gaya visual, seperti Windows Aero. Pengguna tema kontras tinggi harus menggunakan UI klasik Windows.
  • Tidak ada dukungan untuk fitur UI yang mengandalkan Desktop Window Manager (DWM) untuk dijalankan, seperti pratinjau gambar mini dan kaca pembesar layar penuh yang diperkenalkan di Windows 7.
  • Pengembang harus mempertahankan dua jalur kode terpisah untuk mendukung dua model tema yang berbeda.

Di Windows 8 dan yang lebih baru, perubahan berikut pada model tema mengatasi kelemahan sebelumnya:

  • Model tema klasik Windows tidak lagi didukung, memungkinkan pengembang untuk mempertahankan hanya satu jalur kode untuk aplikasi yang hanya menargetkan Windows 8.
  • Karena gaya visual dan DWM aktif di Windows 8, pengguna kontras tinggi memiliki akses ke fitur seperti pratinjau gambar mini dan pembesar layar penuh.
  • Gaya visual mendukung pengaturan warna berbagai elemen UI, memungkinkan pengguna kontras tinggi untuk menyesuaikan UI untuk mengakomodasi kebutuhan dan preferensi individu.
  • Windows 8 mencakup dukungan kompatibilitas untuk aplikasi yang ada yang dirancang untuk menggunakan tema kontras tinggi berdasarkan model tema klasik Windows.

Mendukung Tema Kontras Tinggi di Windows 8 dan yang lebih baru

Di Windows 8, karena gaya visual aktif dalam mode kontras tinggi, mendukung tema kontras tinggi sangat mudah selama Anda mengkhawatirkan panduan berikut.

  • Font dan ukuran kontrol. Untuk memastikan bahwa UI Anda dapat diakses oleh pengguna dengan disabilitas, atur ukuran font sesuai dengan pengaturan tema saat ini. Atur ukuran kontrol menjadi setidaknya ukuran default.
  • Warna. Hindari menggunakan warna yang dikodekan secara permanen. Sebagai gantinya, gunakan warna sistem karena didasarkan pada tema saat ini. Menggunakan warna kustom dapat mengganggu dan mengambil alih warna dalam tema kontras tinggi.
  • Manifes aplikasi. Aplikasi yang dirancang untuk bekerja dengan tema kontras tinggi baru harus memiliki bagian kompatibilitas aplikasi yang ditentukan dalam manifesnya yang berisi GUID kompatibilitas Windows 8. Jika tidak, Windows mengasumsikan bahwa aplikasi dirancang untuk versi Windows yang lebih lama dan merender UI aplikasi dengan mensimulasikan model tema klasik Windows.

Menambahkan Bagian Kompatibilitas ke Manifes Aplikasi Anda

Manifes aplikasi adalah file XML yang menjelaskan persyaratan untuk aplikasi. Bagian kompatibilitas manifes mengidentifikasi versi Windows yang didukung oleh aplikasi. GUID berikut digunakan di bagian kompatibilitas untuk mengidentifikasi berbagai versi Windows.

Versi GUID
Windows Vista {e2011457-1546-43c5-a5fe-008deee3d3f0}
Windows 7 {35138b9a-5d96-4fbd-8e2d-a2440225f93a}
Windows 8 {4a2f28e3-53b9-4441-ba9c-d69d4a4a6e38}

 

Bagian kompatibilitas dapat menentukan beberapa versi Windows, tetapi masing-masing harus dimuat dalam tagnya sendiri <supportedOS/> . Contoh berikut menunjukkan manifes aplikasi yang menentukan Windows 7 dan Windows 8 di bagian kompatibilitas:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
    <compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1">
        <application>
            <!--The ID below indicates application support for Windows 8 -->
            <supportedOS Id="{4a2f28e3-53b9-4441-ba9c-d69d4a4a6e38}"/>

            <!--The ID below indicates application support for Windows 7 -->
            <supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}"/>
        </application>
    </compatibility>
</assembly>

Jika aplikasi tidak memiliki manifes kompatibilitas, aplikasi diasumsikan sebagai aplikasi Windows Vista dan tidak menggunakan kontrol bertema di area klien ketika tema kontras tinggi aktif. Selain itu, perilaku beberapa fungsi gaya visual terpengaruh. Misalnya, IsThemeActive, IsCompositionActive, dan IsAppThemed mengembalikan FALSE, sementara OpenThemeData dan OpenThemeDataEx mengembalikan handel NULL. Ini untuk dukungan kompatibilitas, sehingga aplikasi yang dibangun sebelum Windows 8 masih dapat merender UI mereka dalam tampilan yang sama dengan mode kontras tinggi dari versi Windows sebelumnya di mana gaya visual tidak tersedia.

Pada Windows 8, aplikasi masih menerima manfaat komposisi desktop. Ini berarti, misalnya, aplikasi kegunaan seperti pembesar layar penuh tidak bergantung pada status manifes aplikasi individu. Aplikasi kegunaan terus bekerja dalam mode kontras tinggi dengan aplikasi yang tidak mengidentifikasi dirinya sebagai Windows 8 yang kompatibel dalam manifesnya.

Gambar berikut menunjukkan kotak dialog sederhana dengan kontras tinggi pada Windows 7.

hig contrast dialog box

Gambar ini memperlihatkan kotak dialog yang sama dalam kontras tinggi pada Windows 8, tetapi dengan kompatibilitas Windows 7 yang ditentukan dalam manifes aplikasi:

w8 high contrast dialog box

Gambar ini menunjukkan kotak dialog yang sama dalam kontras tinggi pada Windows 8, dengan Windows 8 yang ditentukan dalam manifes aplikasi:

w8 high contrast dialog with manifest

Mendeteksi Kontras Tinggi di Versi Windows Sebelumnya

Aplikasi yang berjalan pada versi Windows sebelumnya tidak memiliki akses ke tema kontras tinggi baru. Jika aplikasi Anda perlu berjalan pada versi sebelumnya, Anda harus menyertakan dukungan untuk merender UI Anda dengan kontras tinggi dalam model tema klasik Windows. Aplikasi Anda dapat menentukan apakah tema kontras tinggi aktif dengan memanggil fungsi SystemParametersInfo dengan bendera SPI_GETHIGHCONTRAST.

Mengaktifkan Gaya Visual

Gaya Visual