Kezdőoldal > .NET, Windows7 > Windows7 –es alkalmazások fejlesztése – Part II. – Taskbar

Windows7 –es alkalmazások fejlesztése – Part II. – Taskbar

2010. május 4. kedd Hozzászólás Go to comments

Tavaly ősszél végigjártuk az országot a Windows7 fejlesztés mikéntjével kapcsolatban. Ki is adtunk egy tutorialt. Ezt a tutorialt publikálnám itt is. Az első feladatnál a Windows7 taskbar innovációit ismerjük meg közelebbről.

A Start Solution innen tölthető le

Thumnail Toolbar

Szintén egy hasznos újdonság az, hogy parancs felületeket kapunk Windows image7 tálcájától. Ez a funkció számunkra lehetővé teszi, hogy már a betekintőből irányíthassuk az alkalmazásunkat, mintha egy távirányítónk lenne a tálcán az alkalmazásunkhoz.  Erre kitűnő példa a Windows Media Player legújabb 12- es változatta.

Az ábrán is kitűnően látszik, hogy akár a betekintőből is indíthatjuk, vagy épp léptethetjük a Windows Media Playert. Így ahhoz, hogy a legfontosabb műveleteket elvégezzük, nem kell megnyitni az alkalmazást, elég csak fölé vinni az egeret a tálcán és a betekintőben meg is jelenik az előre definiált vezérlő felület. Ez egy nagyon jó és hasznos kényelmi funkció, annyira, hogy a Windows 7 beta és RC felméréseiből is kiderült, hogy a felhasználók ezt az újdonságot ítélték az egyik legkényelmesebb tálca funkciónak, és meglepően hamar elkezdték ezt a funkciót hétköznapi szinten is használni.

Ennek tudatában célszerű a mi alkalmazásunkat is felkészíteni, hasonló funkcionalitással. Hisz az egyik legfontosabb elvárás mindig az, hogy a felhasználónak mindig könnyű legyen az élete, és az alkalmazásunkat a lehető legegyszerűbben tudja használni.

Így most mi is felkészítjük a média lejátszónkat hasonló funkciókkal.

1.      Nyissuk meg a MediaWindow.xaml.cs állományt.

2.      Adjuk hozzá az alábbi sorokat a MediaWindow konstruktora elé. Az alábbi ThumnailButtonokat fogjuk később példányosítani. (Task – 3.1)

private ThumbnailToolbarButton btnMiniPlay;

private ThumbnailToolbarButton btnMiniStop;

private ThumbnailToolbarButton btnMiniPause;

3.      Navigáljunk el az AddButtonToThumbnail metódushoz, és adjuk hozzá az alábbi kódot. (Task – 3.2)

if (TaskbarManager.IsPlatformSupported)

{

    btnMiniPlay = new ThumbnailToolbarButton(Properties.Resources.Play, "Play");

    btnMiniPlay.Enabled = false;

    btnMiniPlay.Click += new EventHandler(btnMiniPlay_Click);

 

    btnMiniStop = new ThumbnailToolbarButton(Properties.Resources.Stop, "Stop");

    btnMiniStop.Enabled = false;

    btnMiniStop.Click += new EventHandler(btnMiniStop_Click);

 

    btnMiniPause = new ThumbnailToolbarButton(Properties.Resources.Pause, "Pause");

    btnMiniPause.Enabled = false;

    btnMiniPause.Click += new EventHandler(btnMiniPause_Click);

 

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

        btnMiniPlay, btnMiniPause, btnMiniStop);

}

 

A kód a szokásos ellenőrzéssel kezdődik. Mégpedig azzal, hogy az adott platform támogatja-e, hogy mi gombokat adjunk hozzá a betekintő nézethez.  Ezt követően példányosítunk 3 ThumbnailToolBarButtont. Egy Playt, egy Stop-ot és egy Pause-t. A ThumbnailToolBarButton konstruktorában megadjuk, hogy milyen képet jelenítsen meg a toolbaron valamint a Tooltip feliratát is meghatározzuk. A képek az alkalmazás egy resource fájljában vannak, így könnyedén elérhetjük őket a kódból.  Ezt követően letíltjuk a gombokat, hogy amíg, nem lehet addig ne is használjuk őket.  Majd feliratkozunk a Click eseményükre. Az esemény feliratkozás nagyon egyszerüen történhet a Visual Studio segítségével. Amikor a += kiírjuk nyomjunk 2x a Tab-ra és a studio legenerálja számunkra az adott eseményt egy majdnem üres törzzsel. Utolsó lépésként pedig hozzáadjuk a gombjainkat a ThumbnailToolbar-hoz. Innentől kezdeve a gombjaink megjelennek a betekintő nézet alján.

 

4.      Ha az eseményeket legeneráltuk, akkor a törzsét meg kell határoznunk. A megfelelő funkciók már egy-egy előre definiált metódusba vannak elhelyezve, így csak meg kell hívni őket. (Task -3.3)

private void btnMiniPlay_Click(object sender, EventArgs e)

{

    Play();

}

 

private void btnMiniPause_Click(object sender, EventArgs e)

{

    Pause();

}

 

private void btnMiniStop_Click(object sender, EventArgs e)

{

    Stop();

}

image

 A btnOpen_Click eseményhez adjuk hozzá az alábbi sorokat, ezzel engedélyezzük az ThumbnailButtonokat, ha egy fájlt előtte már betöltöttünk. (Task – 3.4)

btnMiniPause.Enabled = true;

btnMiniPlay.Enabled = true;
btnMiniStop.Enabled = true; 

 Fordítsuk le az alkalmazást (Ctrl+Shift+B) és futtassuk (F5).

7.      Miután elindult az alkalmazás, töltsünk be egy filmet, és a filmet most a betekintő nézetből indítsuk el. Vigyük az egérkurzort az alkalmazás ikonja fölé és kattintsunk a Play gombra. Ekkor a film lejátszásra kerül. Figyeljük meg azt is, hogy magában a betekintő nézetben is láthatjuk a filmet. Ezt már a Windows Vistától tudjuk, de a navigálás már Windows 7es újdonság.

Taskbar Jump List

Az, hogy parancsokat adhatunk ki a betekintő nézetben hasznos, viszont nem mindig elég, hisz a hely kicsi, és inkább csak a legfontosabb imageparancsokat helyezzük el a betekintő nézetben. Viszont szükségünk lehet egy jóval nagyobb funkcionalitást nyújtó helyre. Erre és ehhez hasonló esetekre találták ki a Jump Listet, vagy durva magyarsággal az ugró listát. Ez a menüelem akkor jelenik meg, ha az alkalmazás ikonjára jobb egérgombbal kattintunk a tálcán.

Itt viszont már szép számmal elhelyezhetünk menüpontokat. Például a Windows Live Messenger –nél, egyszerűen változtathatunk jelenlegi állapotunkon, indíthatunk el más alkalmazásokat vagy épp a leggyakrabban használatos elemeket találhatjuk a listában (Ezeket a menüket a Start menüben is megtalálhatjuk). Ez szintén egy olyan újdonság, amely a felhasználó életét könnyebbé teheti, így hát tegyük azzá avval, hogy az általunk készített Media playert is felkészítjük erre. A feladatunkban az egyszerűség kedvéért, csak egy külső alkalmazást fo gunk elindítani a JumpListből.

1.      Nyissuk meg a MediaWindow.xaml.cs állományt.

2.      Navigáljunk el az AddJumpList metódushoz.

3.      Adjuk hozzá a következő sorokat (Task – 4)

if (TaskbarManager.IsPlatformSupported)

{

    string mediaPlayerPath = @"C:Program FilesWindows Media Playerwmplayer.exe";

    IJumpListTask myTask = new JumpListLink(mediaPlayerPath, "Windows Media Player")

    {

        IconReference = new Microsoft.WindowsAPICodePack.Shell.IconReference(mediaPlayerPath, 0)

    };              

    JumpList jumplist = JumpList.CreateJumpList();

    jumplist.AddUserTasks(myTask);

    jumplist.Refresh();

}

 

A kód megvizsgálja, hogy vajon a platform amin futatjuk az alkalmazást az megfelelő-e? Ha igen akkor készítünk egy JumpListLinket, amelynek megadjuk az elérési utvonalat, amit meg kell nyitnia, valamint a címkét ami meg fog jelenni a JumpListben. Ezt követően az IconReference segítségével meghatározzuk az elem ikonját, ami jelen esetben ugyan abból a forrásból származik mint maga a cél alkalmazás.

Készítünk egy JumpList-et úgy, hogy meghívjuk a JumpList CreateJumpList metódusát, majd átadjuk a számára az előbb létrehozott JumpListTaskot.image

Opcionális

Ha a leggyakoribb vagy a mostanában használt elemeket, fájlokat is beleszeretnéd rakni a JumpListbe akkor a következőt kell beállítanod.

jumplist.KnownCategoryToDisplay = JumpListKnownCategoryType.Recent

Ezt követően hozzá adhatod az elemeket a Recenthez az AddToRecent metódus segítségével.

jumplist.AddToRecent(…);

FIGYELEM! Ebben az esetben regisztrálni kell az adott fájltípust az alkalmazásunkhoz!

Fordítsuk le az alkalmazást (ctrl+shift+b) és indítsuk el (F5)

1.     Kattintsunk a tálcán az alkalmazás ikonjára jobb egérgombbal, ekkor az alábbi kép fog fogadni minket. Kattintsunk a Windows Media Player ikonjára. Ekkor a Media player be fog töltődni.

Advertisements
Kategóriák:.NET, Windows7
  1. Még nincs hozzászólás.
  1. No trackbacks yet.

Vélemény, hozzászólás?

Adatok megadása vagy bejelentkezés valamelyik ikonnal:

WordPress.com Logo

Hozzászólhat a WordPress.com felhasználói fiók használatával. Kilépés / Módosítás )

Twitter kép

Hozzászólhat a Twitter felhasználói fiók használatával. Kilépés / Módosítás )

Facebook kép

Hozzászólhat a Facebook felhasználói fiók használatával. Kilépés / Módosítás )

Google+ kép

Hozzászólhat a Google+ felhasználói fiók használatával. Kilépés / Módosítás )

Kapcsolódás: %s

%d blogger ezt kedveli: