Windows API

Görsel Stil Ekleme

Görsel stil hakkında

Windows XP ve daha sonraki işletim sistemlerinde, kullanıcı tarafından seçilen temalara bağlı olarak, genel kontrollerin görünümünü değiştiren görsel özellik kullanılmaya başlamıştır. Windows XP'den Windows 8 işletim sistemine kadar, görsel stiller ön tanımlı olarak devrede olup, kullanıcı Windows klasik temasını seçip veya tema hizmetini kapatarak görsel stilleri deve dışı bırakabilmektedir.

Windows 8 işletim sisteminden önce, uygulamalar görsel özellikleri kullanacak şekilde düzenlenmediğinde, seçilen temaya bağlı olmaksızın, uygulamalar içindeki kontroller Windows klasik görünümüne sahip oluyorlardı. Windows 8 işletim sisteminde, görsel temalar devre dışı bırakılamadığından, Windows klasik görünümü kullanılmamaktadır.

Bu bölümde, Windowws XP ve daha sonraki işletim sistemlerinde, Windows'ta kullanılan genel kontroller için programlarda görsel stil ekleme yöntemlerini incelemeye çalışacağız.

Uygulamanızın görsel stilleri kullanabilmesi için, ComCtl32.dll 6 veya daha sonraki sürümünü kullanmanız gerekir. Sürüm 6 dosyası bir programla birlikte dağıtılamayacağından, sadece, programınız bu dosyanın bulunduğu bir Windows işletim sisteni altında çalıştığında kullanılabilecektir.

Manifest dosyası tanımlama

Eğer uygulamanızın görsel stilleri kullanmasını istiyorsanız, uygulamanıza, eğer mevut ise, ComCtl32.dll 6 dosyasını kullanma olanağı sağlayan bir manifest dosyası eklemeniz gerekir.

Bir uygulama manifest dosyası ile uygulamanızın hangi DLL dosya grubuna ve bu dosyalar içinde yer alan nesnelere ihtiyaç duyduğunu belirlemeye yarar.

Manifest dosyaları XML formatında olup, uygulamanın .exe dosya adı ile .manifest uzantısından oluşur (Örn. ApplicationName.exe.manifest).

Aşağıda örnek bir manifest dosyası yer almaktadır:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<assemblyIdentity
    version="1.0.0.0"
    processorArchitecture="*"
    name="CompanyName.ProductName.YourApplication"
    type="win32"
/>
<description>Your application description here.</description>
<dependency>
    <dependentAssembly>
        <assemblyIdentity
            type="win32"
            name="Microsoft.Windows.Common-Controls"
            version="6.0.0.0"
            processorArchitecture="*"
            publicKeyToken="6595b64144ccf1df"
            language="*"
        />
    </dependentAssembly>
</dependency>
</assembly>

processorArchitecture değerini, uygulamanızı 32 bit Windows platformu için hazırlıyorsanız, "X86", 64 bit Windows platformu için hazırlıyorsanız "amd64", eğer her iki platform için hazırlıyorsanız, "*" olarak tanımlayın.

Yukarıdaki dosyanın ilk bölümünde manifest dosyası aşağıdaki değerlere göre kendini tanımlar:

version: Manifest dosyasını sürümü (Yapısı: Anasürüm.Altsürüm.Revizyon.Derleme)

processorArchitecture: Uygulamanın çalışacağı işlemci türü

name: Şirket adı,ürün adı ve uygulama adı

type: Uygulama türü

Yukarıdaki dosyanın ikinci kısmında ise, dependency bölümündeki assemblyIdentity özellikleri yer almaktadır:

type: Bileşen türü

name: Bileşen adı

version: Bileşen sürümü

processorArchitecture: Bileşenin çalışacağı işlemci türü

publicKeyToken: Bileşen simge değeri

language: Bileşen dili

Manifest dosyasını uygulamalara dahil etme

Uygulamalarınızda görsel stil kullanmak için, yukarıdaki dosyayı Application.manifest adıyla projenizde kaynak kodların bulunduğu dizine kaydedip, aynı dizinde bulunan resource.rc dosyasının içine aşağıdaki satırı eklemeniz yeterlidir:

resource.rc

1 24 "Application.manifest"

Herhangi bir görsel stil tanımlanmayan bir uygulamaya ait ekran görüntüsü aşağıda ilk sırada, görsel stil tanımlanmış bir uygulamaya ait ekran görüntüsü ise ikinci sırada yer almaktadır: