2009-04-11 21:50:19
TSysIcon

This article is also available in english language.

No to mamy kolejny komponent na BranchWare - TSysIcon, czyli systemową ("stockową") ikonkę. Może komuś się przyda, szczególnie przy odchudzaniu swojego softu pisanego w Delphi.

TSysIcon to wizualny komponent reprezentujący systemową ikonkę taką jak żółty znak ostrzegawczy, biały dymek, czerwony znak stopu, i tak dalej. Nie jestem tu szczególnie odkrywczy, bo tego typu komponentów jest co najmniej kilka, sam komponent jest bardzo prosty, ale mój komponent - w odróżnieniu od reszty - obsługuje również Viścianą tarczę, którą widać przede wszystkim w UACowych pop-upach.

Po co taki komponent? Po pierwsze, by ujednolicić (z systemem) wygląd programu. Można używać swojej grafiki (po to jest TImage, ew. TPaintBox), ale to ma sens przy stosowaniu absolutnie własnych obrazków. A po drugie - po co trzymać w swoim sofcie systemowe ikonki? Na co taka głupia nadmiarowość? Zresztą, spójrzmy na screeny:


Systemowe ikonki w Windows 2000


Systemowe ikonki w Windows XP


Systemowe ikonki w Windows Vista

A teraz dokonajmy rzetelnego rachunku. Mamy trzy grupy 7 ikonek, każda grupa z różną głębią kolorów. Pod Windows 2000 - 16 kolorów. Pod XP i Vistą - 24 bity. Każda ikonka ma wymiary 32x32. Liczymy - 7*32²*½ + 14*32²*3 = co najmniej 46592 bajtów niezbędne do zachowania wszystkich ww. ikonek. Nawet jeśli się ograniczymy do tylko jednej grupy, np. ikonek z Visty, to dalej mamy 21504 bajtów zużyte. Niedużo? Może, ale w sytuacji gdy jest trochę okienek wykorzystujących takie ikonki, ilość zużytego przez ikonki miejsca rośnie, nie mówiąc już o tym, że prawie na pewno któreś będą się beznadziejnie powtarzać. Pomijam aspekty prawne (prawa autorskie) - trudno cokolwiek zarzucić, gdy się wykorzystuje samo systemowe API i trudno też bronić się w innym przypadku. Widać więc, że zrzynanie tych ikonek ze screenów to skrajna głupota.

TSysIcon obsługuje Viścianą tarczę - komponent jest na tyle cwany, że jeśli system jej nie posiada (XP i wcześniejsze), po prostu wewnętrznie przestawi się na żółty znak ostrzegawczy. Co zresztą widać na ww. obrazkach.

Do pobrania z witryny BranchWare - na licencji Public Domain (z racji prostoty kodu).


Może Cię zainteresować...

Link | Branchware, Programowanie, Tech
Pokazuj komentarze.
Komentowanie wyłączone dla tego wpisu.
Powered by:
Hellcore Mailer - polski program pocztowyOpera Web BrowserFreeBSD - The Power to Serve!Slackware
RSSy:
Sidekick:
Projekty:
O autorze:
Zobacz:
Kategorie:
Archiwum:
Szukaj: