XP Manifest

Transkrypt

XP Manifest
XP Manifest
Co to jest manifest, do czego służy?
Manifest powstał razem z wprowadzeniem Windows XP na rynek. Niewielu ludzi wie o manifastach. Jest to plik *.manifest lub
tekst wkompilowany w aplikację. Służy do zmieniania wyglądu aplikacji z poprzednich wersji Windows na aplikacje typowe dla
Windows XP. Oczywiście jak zawsze nie działa na wszystkie aplikacje. Dotyczy to jednak programów starych lub o złożonej
budowie. My, programiści nie musimy się martwić, gdy korzystamy z takich pakietów jak Delphi.
Po co powstał manifest?
Mówiąc krótko: dla programistów. Jednak wszystko trzeba wyjaśnić, nawet tak prostą rzecz. Manifest powstał dla ułatwienia
nam życia. Nie musimy tworzyć nowych komponentów, wyglądających jak te z XP, a spełniających standartowe funkcje. Nie
musimy pisać kodu rozpoznającego wersję Windows, ukrywającego komponenty XP lub normalne, gdy używamy odpowiedniego
Windows. Czyli mówiąc prosto: zmienia wygląd naszego programu na standard XP. Po co to komuś? Jak ma Windows XP, to
napewno nie po to, żeby się chwalić. Większość ludzi instaluje XP ze względu na "opływowe", a dokładnie, przyjazne dla oka
kształty i kompozycje kolorów. Więc taki ktoś napewno nie ucieszy się, gdy pod XP ujrzy aplikację ze standardowymi
kontrolkami. Manifesty powstały głównie z myślą o twórcach takich aplikacji. Pod starszymi Windowsami nie działają one w
ogóle, a uaktywniają się pod XP.
Sposoby osadzania manifestu
Są dwa sposoby na osadzenie manifestu w naszym programiku. Pierwszym sposobem, najprostszym, ale i mało skutecznym jest
utworzenie pliku tekstowego o odpowiedniej zawartości, zmianie jego nazwy na "nazwa_aplikacji.exe.manifest" i umieszczeniu
go w jednym folderze razem z aplikacją. Należy pamiętać o rozszerzeniu aplikacji *.exe przed *.manifest. Czyli plik może mieć
postać "app.exe.manifest". Jest to mało skuteczny sposób, gdyż potencjalny użytkownik, nie znając manifestu, zmieni nazwę
aplikacji lub przeniesie sam plik aplikacji do innego folderu, a wtedy bardzo się zdziwi. Czemu? Gdyż, jak pisałem, ta metoda
jest mało skuteczna - działa tylko, gdy manifest jest przy aplikacji (czyli w jednym folderze) i aplikacja ma taką samą nazwę bez
dodatkowego rozszerzenia *.manifest. Ten sposób używamy, gdy nie chcemy lub nie możemy kompilować kodu aplikacji drugi
raz.
Drugą, w 100% pewną metodą jest wkompilowanie manifestu w aplikację. Nie jest to trudne, ale nie zbyt proste. Należy
stworzyć zasób, czyli plik *.res o odpowiedniej budowie i zawartości. Następnie w kodzie aplikacji (module) po słowie
"implementation" w komentarzu {} po $R wpisujemy nazwę zasobu (np. "{$R manifest.res}"). Przed skompilowaniem musi być
on w folderze aplikacji. Kompilujemy program i gotowe.
Próbna aplikacja
Jeżeli jeszcze nie czytałeś (-aś) kursu (co polecam), utworzenie nawet tej aplikacji nie powinno stworzyć problemów.
Zaczynamy od utworzenia nowego projektu ( File|New|Application ). Nie musimy "bawić się" w zmienianie nazw komponentów i
ich tytułów, ale nie zaszkodzi. Zaczynamy od wstawienia takich komponentów, jak TButton
, TEdit
, TCheckBox
,
, TScrollBar
. Możemy też wstawiać inne komponenty. Nie wszystkie jednak są obsługiwane przez
TRadioButton
manifesty. Kompilujemy aplikację. Efekt może być następujący:
Na pewno nas nie zadowala. Nie lepiej, gdyby kontrolki przyjęły wygląd standardowy dla XP? Nie ma problemu. Zamykamy
okno. Po słowie "implementation" dodajemy w komentarzu po $R nazwę zasobu manifestu, np. "{$R manifest.res}". Jest to
informacja dla Delphi, że należy dołączyć wskazany plik do programu. Kod powinien wyglądać mniej więcej tak:
implementation
{$R *.dfm}
{$R manifest.res}
Jest jeszcze druga metoda, jak pisałem wyżej. Możemy zapisać plik o nazwie aplikacji z dodatkowym rozszerzeniem *.manifest,
np. "app.exe.manifest". Po skompilowaniu widzimy efekt naszej pracy:
Teraz możemy siąść spokojnie i się odprężyć. Wszystko działa. To nie jest jednak koniec pracy. Stworzyliśmy dopiero próbną
aplikację.
Używamy manifestu w aplikacjach
Stworzyliśmy już próbną aplikację. Widzimy wyraźnie różnicę bez i z użyciem manifestu. To jednak tylko była próba. Teraz pora
na nasze aplikacje. Do nich także należy dodać manifest. Jak pisałem wyżej, można zrobić to na dwa sposoby. Osobiście
polecam wstawianie pliku *.manifest do katalogu z aplikacją. Pisałem, że należy tworzyć odpowiednie pliki lub zasoby.
Napisał Jakub ‘Max’ Staszak
Strona WWW: http://www.delphiwebsite.prv.pl
Adres e-mail: mailto:[email protected]
Numer Gadu-Gadu: 1997379

Podobne dokumenty