Windows 7 için uygulamalara Taskbar Toolbar nasıl eklenir?

0 dakikada yazıldı

8133 defa okundu

Düzenle

Uygulamalarımız için Windows 7 ile beraber gelen Taskbar özelliklerinden
biri de Taskbar içerisine uygulamaya özel Toolbar yerleştirebiliyor
olmak. Kullanıcıların uygulamalarımızla ilgili en sık kullandıkları
özelliklere hızlı bir şekilde ulaşılabilmesini sağlayan bu mini
toolbarları yaratmak Taskbar API Wrapper'ları ile beraber çok kolay bir
hal alıyor.

Taskbar Toolbar'ları ile ilgili canlı bir örnek görmek için hemen
Windows7 içerisinde Media Player'a başvurabiliriz. Media Player
içerisinde oynattığınız şarkılar veya videolar arasında hızlıca geçiş
yapmanızı sağlayacak olan mini bir toolbar otomatik olarak Taskbar'da
Preview panelinde gözüküyor.

Taskbar'da minik bir toolbar!
Taskbar'da minik bir toolbar!

Bu minik toolbarlar farklı işlemler için kullanılabilir. Özellikle hemen
toolbarın üstünde de uygulamanın Preview kısmının bulunduğunu düşünürsek
ilginç bir manzara oluşturmak da mümkün. Örneğin toolbardaki düğmelere
göre uygulama kendi genelinde görsel değişiklikler yaparak kullanıcıyı
bilgilendirirse otomatik olarak bu değişiklikler toolbar üzerindeki
preview alanına da yansıyacağı için bu ufacık preview ekranından
kullanıcıya ciddi bir işlevsellik aktarılabilir.

Peki biz nasıl yapacağız?

Windows7 içerisinde Taskbar Toolbars özelliğinden faydalanabilmemiz için
ilk olarak
WindowsAPICodePack
ile beraber gelen Microsoft.WindowsAPICodePack.dll ve
Microsoft.WindowsAPICodePack.Shell.dll'i referans olarak projemize
eklemeliyiz. Yarattığımız bu yeni WPF projesine ayrıca System.Drawing'i
de referans alırsak ileriki adımlarda sorun yaşamayız. Yapacağımız
örnekte Toolbar içerisinde basit bir düğme ekleyerek görselliğini
değiştirecek ve düğmeye basıldığında bir event-listener ile durumdan
haberdar olacağız.

[VB]

    Private Sub Window1_Loaded(ByVal sender As Object,
ByVal e As System.Windows.RoutedEventArgs) Handles Me.Loaded

        Dim ikon = New
System.Drawing.Icon(Application.GetResourceStream(New Uri("dvd_rom.ico",
UriKind.RelativeOrAbsolute)).Stream)

        Dim dugme As New
ThumbnailToolbarButton(ikon, "DVD'den
müzik çal!"
)

        AddHandler dugme.Click, AddressOf dugme_Click

        TaskbarManager.Instance.ThumbnailToolbars.AddButtons(New
WindowInteropHelper(Application.Current.MainWindow).Handle, dugme)

    End Sub

 

    Private Sub dugme_Click(ByVal sender As Object,
ByVal e As ThumbnailButtonClickedEventArgs)

        MessageBox.Show("OK")

    End Sub

[C#]

        void Window1_Loaded(object sender, RoutedEventArgs e)

        {

            var ikon = new System.Drawing.Icon(Application.GetResourceStream(new Uri("dvd_rom.ico", UriKind.RelativeOrAbsolute)).Stream);

            var dugme = new ThumbnailToolbarButton(ikon, "DVD'den müzik çal!");

            dugme.Click += new EventHandler<ThumbnailButtonClickedEventArgs>(dugme_Click);

            TaskbarManager.Instance.ThumbnailToolbars.AddButtons(new WindowInteropHelper(Application.Current.MainWindow).Handle,
dugme);

        }

 

        void dugme_Click(object sender, ThumbnailButtonClickedEventArgs e)

        {

            MessageBox.Show("OK");

        }

Kodumuz içerisinde uygulamamız ekrana geldiği gibi projemi içerisinde
bulunan dvd_rom.ico dosyasının bir ikon değişkenine yüklüyoruz.
Sonrasında Toolbar'ımıza eklenmek üzere ThumbnailToolbarButton
nesnesi yaratmamız gerekiyor. ThumbnailToolbarButton yaratırken söz
konusu sınıfın constructor'ı bizden bir ikon ve bir de Tooltip için
açıklama metni istiyor. Bir sonraki adımda yarattığımız bu özel düğmenin
Click event'ını da ayrı bir event-listener'a bağlıyoruz.

Son olarak geriye sadece bu düğmeyi Toolbar'ımıza eklemek kalıyor. Bunun
için ThumbnailToolbars sınıfı altındaki AddButtons metodunu
kullanabiliriz. Metodumuz ilk olarak toolbarın hangi pencerenin
Preview'una ekleneceğini anlayabilmek için bizden Handle istiyor,
sonraki parametrelerde sıra ile yarattığımız tüm düğmeleri parametre
olarak geçebiliyoruz. Biz örneğimizde sadece bir tek düğme kullandık
fakat siz çok daha fazla ve farklı düğmeler kullanabilirsiniz.

Tek tıkla DVD'den müzik çalabilecek bir uygulama?
Tek tıkla DVD'den müzik çalabilecek bir uygulama?

Düğmeye basıldığında daha önce eklemiş olduğumuz dugme_Click event
listener'ı çalışacak. Böylece istediğimiz işlemi rahatlıkla
yapabileceğiz. Artık örneğinizi çalıştırıp test edebilirsiniz.

Hepinize kolay gelsin.

Örneklere ait kaynak kodlar - 10082009_3.rar (3,36
MB)