Delphi - Tartalomjegyzék kezelése

HTML Help komponensek 2. rész

forráskód letöltése
Ebben a részben egy olyan komponenst készítünk, amely segítségével a HTML Help project-ekhez tartozó tartalomjegyzékeket szerkeszthetjük. A komponens segítségével létrehozhatunk egy új HHC állományt, vagy megnyithatunk egy létezőt.
A mellékelt példaprogram megnyitása előtt a HTMLHelpTOC.pas-ban lévő komponenst telepítenie kell a Delphi alá. Ehhez válassza a Component - Install Component menüpontot.
A komponens FileName property-jében adhatjuk meg a létrehozandó vagy megnyitandó HHC állomány elérési útját és nevét.
Az alábbi táblázat összefoglalja a komponens property-jeit és a nekik megfelelő HTML Help Workshop-ban található opciókat.
Property HTML Help Workshop opció
DefaultFrame TOC properties – General - Default frame
DefaultWindow TOC properties – General - Default window
Font TOC properties – General - Font
ImageList TOC properties – General - Image file
UseFolders TOC properties – General – Use folders instead of books
A tartalomjegyzékben szereplő oldalakat az Items property-ben adhatjuk meg, amely TStringList típusú.
Az Items property egy eleme egy tartalomjegyzék bejegyzést képvisel. Egy bejegyzést a következő formában adhatunk meg. Pl.:
HTMLHelpTOC1.Items.Add('l=1; n=Második oldal; i=11; f='+path+'2.htm');
A bejegyzések paramétereit pontosvesszővel elválasztva kell felsorolnunk. A következő paramétereket használhatjuk:
Paraméter Jelentése
l Az elem-hierarchia szintje. Az első szint 0. Ha a következő elemet alá akarjuk rendelni az előzőnek, akkor eggyel nagyobb értéket adjunk meg.
n A bejegyzésben megjelenítendő név.
f Egy HTM állomány, amelyet akkor kell megjeleníteni, ha a felhasználó a tartalomjegyzékből kiválasztja a megadott elemet.
r Frame - Keret
i Image Number – az elem mellett megjelenő kép indexe
c Comment - Megjegyzés
w Window - Ablak
Új tartalomjegyzék létrehozáshoz meg kell hívnunk a CreateNewTOC metódust.
procedure CreateNewTOC;
Ha meg akarunk nyitni egy már létező tartalomjegyzéket, akkor a LoadTOC metódust kell használnunk. A metódus meghívása előtt, a FileName property-ben állítsuk be a megnyitandó HHC állomány elérési útját és nevét.
function LoadTOC: Boolean;
A függvény visszatérési értéke csak akkor igaz, ha a betöltés sikeres volt.
A létrehozott tartalomjegyzéket a SaveTOC metódussal menthetjük lemezre. Mentés előtt a létrehozandó HHC állomány elérési útját és nevét állítsuk be a FileName property-ben.
function SaveTOC: Boolean;
A függvény visszatérési értéke csak akkor igaz, ha a mentés sikeresen megtörtént.
A komponens elkészítése
A tartalomjegyzéket tartalmazó állomány (*.hhc) HTML formátumú.
A HTML állomány fejléce és formátum adott. Az egyes property-ket az <OBJECT> tag tartalmazza, a következő formában.
<OBJECT type="text/site properties">
        <param name="WindowName" value="Alapértelmezett ablak">
        <param name="ImageType" value="Folder">
</OBJECT>
Az alábbi táblázat összefoglalja a komponens által beállítható tulajdonságokat, és a HTML kódban szereplő param name megfelelőjüket:
Property HTML Help megfelelője a param name tagban
DefaultFrame FrameName
DefaultWindow WindowName
Font Font
ImageList ImageList
UseFolders ImageType
A globális beállítások után az egyes tartalomjegyzék-elemek adatai következnek.
<UL>
<LI> <OBJECT type="text/sitemap">
<param name="Name" value="Elsõ oldal">
<param name="Local" value="C:\Delphi6\Projects\HtmlHelp\1.htm">
<param name="ImageNumber" value="11">
</OBJECT>
Az <UL> tag hatására a következő objektumok egy szinttel beljebb lépnek a hierarchikus szerkezetben, egészen a </UL> tag megjelenéséig.
Egy bejegyzés a következő tulajdonságokat tartalmazhatja:
Kapcsoló HTML Help megfelelője a param name tagban
n Name
f Local
r FrameName
w WindowName
c Comment
i ImageNumber
Amikor elmentünk egy tartalomjegyzéket, vagy megnyitunk egy már létezőt, akkor a fent felsorolt értékeket kell kiolvasnunk, illetve beírnunk.

HTML Help komponensek cikksorozat