Práce s HTML v RES souborech

Od vydání MS Internet Exploreru verze 4 je možné využívat zobrazení HTML stránek přímo z aplikačního resource souboru pomocí res:// protokolu. V tomto seriále si ukážeme jakým způsobem vytvářet resource soubory s HTML stránkami a jak pak tyto stránky zobrazovat ve VB aplikacích.

O res:// protokolu
MS Internet Explorer od verze 4 podporuje koncept rozšiřitelných protokolů. Znamená to, že kromě standardních protokolů, jako jsou HTTP nebo FTP, může IE podporovat jakékoliv množství protokolů, které umožňují nějakou cestu přístupu k informacím. Pokud se chcete dozvědět více o možnostech jak rozšířit IE, pak si přečtěte článek "Cutting Edge: Pluggable Protocols", který byl publikován v roce 1999 v lednovém čísle časopisu Microsoft Internet Developer a který popisuje jak implementovat různé možnosti této funkcionality.

res:// protokol byl jedno ze schémat, které byly představeny v tom samém čase. Jednoduše, res:// protokol umožňuje zobrazovat informace uložené v resource souborech zakompilovaných v EXE nebo DLL souborech přímo v IE. Například, pokud si v offline módu IE zkusíte zobrazit nějakou stránku (a není načtena v offline složce), pak se zobrazí stránka s informacemi o nepřístupnosti stránky. Pokud se podíváte na adresu stránky v prohlížeči zjistíte, že vypadá třeba nějak takhle:

res://C:\WINDOWS\System32\shdoclc.dll/offcancl.htm#http://www.bozena.net/

Tato adresa říká IE, aby načetl stránku "offcancl.htm", která je zakompilována jako HTML zdroj v resource souboru v knihovně shdoccl.dll. Část, která je za znakem # je brána jako parametr skriptu, který je umístěn v této stránce. Pokud si zobrazíte zdroj této stránky zjistíte, že se odkazuje na obrázek "pagerror.gif". Tento obrázek je také obsažen v resource souboru a můžete si jej zobrazit rovnou, pokud napíšete tuto adresu:

res://C:\WINDOWS\System32\shdoclc.dll/pagerror.gif

To ale ještě není vše. res:// protokol může být ale také použit pro zobrazování jiných zdrojů v aplikaci. Pokud napíšete:

res://C:\WINDOWS\System32\shdoclc.dll/pagerror.gif

tak aktuálně říkáte IE, aby se podíval do sekce RT_HTML (id=23) pro vámi požadovaný zdroj. Můžete ovšem IE navigovat i do jiných sekcí resource souboru, pokud číslo této sekce přidáte za jméno DLL knihovny. Například pokud chcete zobrazit bitmapu z resource souboru, které jsou uloženy v sekci RT_BITMAP (id=2), a tato bitmapa má své id 17034, tak by zápis měl vypadat takto:

res://C:\WINDOWS\System32\shdoclc.dll/2/17034

Je třeba ale poznamenat, že IE nepodporuje některé typy zdrojů, jako jsou například ikony nebo menu. Pokud se pokusíte takovýto zdroj zavolat, tak se zobrazí pouze informace o tom, že stránka nemůže být zobrazena.

 Další

Autor: The Bozena

iReklama.cz - nový reklamní systém
iReklama.cz - nový reklamní systém