Pentru Windows 7 întrebări și răspunsuri - dezvoltarea de gadget-uri pentru Windows 7 din bara laterală
În mod implicit, Windows 7 include furnizarea de gadget-uri care pot monitoriza prețul de stoc, afișa știri, vreme și alte fleacuri. Cu toate acestea, cele mai interesante pentru utilizator va fi acele aplicații care oferă informații extrem de specializate de interes pentru el și având o formă convenabilă pentru el (servicii web corporate sau individuale).
Gadget la locul de muncă, trebuie să vă înregistrați și de a obține o cheie API de la Flickr. Această cheie trebuie introdusă în al treilea rând al codului ShowMeLife.js de pornire.
Înainte de a începe scrierea de tine, să aruncăm o privire la lumea de dezvoltare gadget.
Imediat necesar să se precizeze că există trei tipuri diferite de gadget-uri (care pot crea unele confuzii): Ferestre gadget-uri live, gadgeturi Sidebar Vista / 7 și Windows gadgeturi SideShow. În acest articol, considerăm doar gadget-uri pentru bara laterală. Din păcate, API-ul acestor trei platforme de astăzi nu sunt compatibile, deși Microsoft spune că este de lucru pe ea. La momentul scrierii, gadget cross-platform necesită unele compromisuri și o planificare atentă. Să ne uităm pe scurt la începutul, în toate cele trei platforme.
Gadgeturile din bara laterală
Windows 7 vine la pachet cu un anumit set de gadget-uri, care poate fi extins cu ușurință cu ajutorul Windows Live Gallery sau secțiunea corespunzătoare a acestui site. Bara laterală care rulează local pe o mașină, are o serie de avantaje față de omologii lor web. De exemplu, aceste gadget-uri pot avea acces la unele dintre resursele de calcul locale.
Windows Live Gadgets
Windows Live Gadgets rulează într-un separat
gadgeturi SideShow
Spre deosebire de cele două platforme anterioare gadgeturi SideShow sunt dezvoltate în C ++. Aceste gadget-uri au propriile lor interfață de utilizator, dar platforma de transfer de date SideShow. Platforma, la rândul său, afișează informațiile de pe ecran. Până în prezent, aceste soluții hardware nu sunt multe și nu sunt foarte frecvente.
Gadgetul este un fișier cu extensia .gadget. fișier .gadget este comprimat în ZIP sau CAB format de arhivă. Atunci când un utilizator deschide un fișier .gadget, bara laterală gadget va extrage resursele care sunt în interior.
fișier .gadget include:
După extragerea fișierelor dintr-o arhivă, acestea sunt copiate în directorul home al utilizatorului. Calea completă la directorul cu gadget-uri -% USERPROFILE% \ AppData \ Local \ Microsoft \ Windows Sidebar \ Gadgets, în cazul în care% USERPROFILE% - directorul home al utilizatorului root, de exemplu, C: \ Users \ w7q.
În cazul în care instalarea gadget este complet, acesta va apărea în galeria bara laterală. Utilizatorul va fi acum posibilitatea de a adăuga acest obiect gadget la desktop făcând dublu-clic sau trăgând-o cu mouse-ul. Ștergerea unui obiect gadget va elimina fișierele de pe disc. Ca dezvoltatori, putem scrie gadgetul direct în directorul corespunzător sau să utilizați instrumentul MSBuild, pentru a copia dosarul gadget în timpul asamblării. Să ne uităm la un gadget pe care o vom crea.
In acest articol vom face un gadget care va afișa pe ecran prezentarea de fotografii de la serviciul Flickr. Gadgetul va căuta fotografii pentru anumite cuvinte cheie. Vom face o interfață grafică pentru utilizator se poate defini cuvinte cheie. După Flickr returnează o listă de rezultate, gadget începe să afișeze imagini pe ecran unul câte unul.
gadgetul nostru va consta din:
- Gadget.xml - obligatoriu descrierea fișierului;
- ShowMeLife.htm - marcarea pentru interfața;
- ShowMeLife.css - stiluri care sunt utilizate în interfața de utilizare;
- ShowMeLife.js - un script care se leagă la Flickr și actualizează interfața;
- Settings.htm, Settings.css și Setting.js - un set separat de fișiere cu caseta de dialog setări care permite utilizatorului să introducă termeni de căutare.
Să observăm etichetele de bază în gadget.xml:
etichetă
etichetă
etichetă
etichetă
Gadget și script-ul
document.onreadystatechange = function ()
în cazul în care (document.readyState == "complet")
flickr = new Flickr ();
System.Gadget.settingsUI = "Settings.htm";
System.Gadget.onSettingsClosed = settingsClosed;
System.Gadget.onUndock = resizeGadget;
System.Gadget.onDock = resizeGadget;
showPhotos ();
>
>
Acesta este un handler eveniment care este declanșat atunci când gadgetul pentru a efectua o descărcare inițială. Este posibil să observați că suntem crearea unui obiect nou sub numele de Flickr, care este o clasă care este definită mai târziu în acest scenariu. Noi folosim, de asemenea, System.Gadget API (nu este un obiect, pe care îl definim ca un nou API pentru dezvoltatorii de gadget-uri).
System.Gadget
API Gadgeturi ne permite să interacționeze cu mașina locală, shell-ul Windows și panoul lateral. De exemplu, System.Network.Wireless obiect permite verificarea intensitatea semnalului și conexiunea la rețeaua fără fir. Puteți utiliza System.Machine.Powerstatus obiect pentru a vedea puterea rămasă a bateriei. Funcțiile rămase pot fi găsite în documentația MSDN.
Noi folosim System.Gadget obiecte pentru a „stabili un contact“ din bara laterală de gadgeturi. De exemplu, putem face setările de interfață de utilizator. Această interfață va apărea imediat ce utilizatorul face clic pe butonul mic de lângă gadget. fereastra de cod HTML cu setările stocate în fișierul Settings.htm și trebuie să ne asigurăm că link-ul System.Gadget.settingsUI la acest fișier așa cum se arată în Listing codul de mai sus. Putem regla, de asemenea, atașamentul față de panoul lateral (atunci când utilizatorul aduce gadgetul la bara laterală) și andocarea (atunci când utilizatorul elimină gadgetul din bara laterală). Am lega aceste evenimente folosind funcția resizeGadget.
Funcția resizeGadget ()
dacă (== System.Gadget.docked true)
mainBody.style.height = 130;
mainBody.style.width = 130;
photo.style.height = 128;
photo.style.width = 128;
>
altfel
mainBody.style.height = 640;
mainBody.style.width = 640;
photo.style.height = 638;
photo.style.width = 638;
>
>
Aici vom folosi System.Gadget API, pentru a determina dacă gadget este în stare atașată, sau invers deconectat de la bara laterală. Lățimea ideală pentru gadget în starea atașată - 130 pixeli, astfel încât să putem ajusta lățimea și înălțimea cererii. În cazul în care gadgetul este deconectat de la panoul lateral, acesta poate fi crescut ușor, crescând astfel amploarea fotografiilor.
tag-uri: