C# - Tárgymutató készítése a HTML Help-hez

HTML Help 5. rész

forráskód letöltése
E cikkből megtudhatjuk, hogy a HTML Help Workshop-ban miként szabályozhatjuk a megjelenő ablak tulajdonságait, eszköztárát. Továbbá azt is, hogy hogyan készíthetünk tárgymutatót a súgó állományunkhoz, majd végül egy újabb ActiveX Control-al is megismerkedünk, amelynek segítségével tetszőleges programokat, Control Panel alkalmazásokat indíthatunk el a HTML Help-ből.
Az eddigiekben még nem foglalkoztunk a help ablakkal, az mindig az alapértelmezett tulajdonságokkal jelent meg. Ha viszont a HTML Help Workshop-ban a Project lapon az Add/Modify window definitions jobb oldali gombra kattintunk, akkor a megjelenő Add a New Window Type dialógus ablakban először egy tetszőleges elnevezést kell adnunk az ablaknak.
Ezek után megjelenik a Window Types nevű dialógus ablak, ahol a tényleges beállításokat már elvégezhetjük, erre számtalan lehetőség kínálkozik.
Rögtön az első General nevű lapon választhatjuk ki, hogy melyik ablakkal foglalkozunk, itt létrehozhatunk újat és törölhetünk meglévőt is. A Title bar text mezőnél megadhatjuk a súgó állomány ablakának fejlécére kerülő feliratot.
A második, Buttons nevű lapon szabályozhatjuk, hogy milyen nyomógombok jelenjenek meg a help ablakában.
A Position lapon az ablak kiindulási pozíciója és mérete állítható be. Ezt legegyszerűbben az Autosizer gombra történő kattintás után tehetjük meg.
A Files lapon megadható többek között az is, hogy a Home gomb milyen címre mutasson, illetve a létrehozható Jump1 és Jump2 gombok mire mutassanak.
Az ablakok további beállítási lehetőségével a későbbiekben még foglalkozunk, most viszont nézzük, hogy miként készíthetünk tárgymutatót a súgó állományunkhoz.
Ehhez válasszuk a program fő ablakában az Index lapot. Ekkor rögtön egy kérdést kapunk, hogy meglévő, vagy új tárgymutató állományt használjunk-e fel. Válasszuk az újat.
Új kulcsszót az Insert keyword jobb oldali gomb lenyomásával vehetünk fel. Ekkor a megjelenő ablak Keyword mezőjébe írhatjuk az adott kulcsszót és az Add lenyomásával választhatunk hozzá web lapot, ami akkor jelenik meg, ha a felhasználó az adott szót választja a tárgymutatóból.
Az új elem tulajdonságait a későbbiek folyamán még módosíthatjuk az Edit selection gombbal. Ekkor az előbbi ablak jelenik meg.
Törölni egy-egy kulcsszót a Delete selection gombbal tudunk.
Található még jobb oldalt négy nyíl gomb, melyek segítségével a hierarchikus sorrend alakítható ki.
A Sort keyword alphabetically gomb lenyomásával ABC szerint rendezhetjük a kulcsszavainkat.
Ezzel a tárgymutató tulajdonképpen már készen is van, fordítás után használható a help-ben.
Nézzük végül az új ActiveX Control-t.
Az új funkció neve ShortCut. A mellékelt példában az 1.htm állomány tartalmaz erre példát. A HTML Help ActiveX Control varázsló elindítása után válasszuk tehát a lehetséges parancsok közül a ShortCut nevűt.
Tovább lépve a Next gombbal a már szokásosnak mondható kérdés következik, hogy gomb formájában szeretnénk viszontlátni az objektumot, vagy legyen rejtett. Mi most maradunk a gombnál.
Ismételt Next gomb után rendelkezhetünk a gombon megjelenő szövegről, képről, vagy ikonról.
A következő lapon pedig megadhatjuk, hogy a gomb lenyomásakor milyen program induljon el, annak mik legyenek a paraméterei.
Ha továbblépünk, akkor lehetőségünk van arra is, hogy egy-egy Windows-ból már jól ismert üzenetet adjunk át a szükséges paraméterekkel, amennyiben erre szükségünk van.
Ezzel készen is vagyunk, a Finish gomb lenyomása után a szokásos kód kerül a web lapunk forrásába.
<OBJECT id=hhctrl type="application/x-oleobject"
        classid="clsid:adb880a6-d8ff-11cf-9377-00aa003b7a11"
        codebase="hhctrl.ocx#Version=4,74,8702,0"
        width=11
        height=11
>
    <PARAM name="Command" value="ShortCut">
    <PARAM name="Button" value="">
<PARAM name="Item1" value="notepad,notepad.exe,"> 
<PARAM name="Item2" value="273,1,1"> 
</OBJECT>
Nézzük most a ShortCut parancs pontos szintaktikáját.
<PARAM name="Command" value="ShortCut">
<PARAM name="Item1" value=",program name,parameters">
<PARAM name="Item2" value="message ID,wPARAM,lPARAM">
[<PARAM name="Button" value="[Text: Button text|Bitmap: 
     Bitmap file path|Icon:Icon file path]">]
 [<PARAM name="Font" value="Facename[, point size[, 
     charset[, color[, PLAIN BOLD ITALIC UNDERLINE]]]]">]
 [<PARAM name="Text" value="Text: Link text">]
A Command paraméterhez természetesen a ShortCut érték kell hogy tartozzon.
Az első paraméter Item1 névre hallgat, és itt adható meg az indítandó program, melynek nevét két vessző között kell leírni. Ezután rögtön következhetnek a programhoz esetlegesen szükséges paraméterek.
A második paraméter, az Item2 a megadható Windows üzenet azonosítója számmal leírva, valamint az esetleges wParam és lParam értéke.
A Button nevű paraméterben szabályozhatjuk, hogy szöveg, kép, vagy ikon kerüljön a gombra és hogy ez mi legyen.
A Font paraméter a gomb betűtípusát adja meg, míg a Text paraméterben egy linket adhatunk át az ActiveX objektumnak.
A kész HTML Help-et fordítsuk le és nézzük miként használhatjuk fel azt programból.
Magát a help-et a szokásos módon indíthatjuk el a ShowHelp függvény meghívásával.
    private void button1_Click(object sender, System.EventArgs e)
    {
      Help.ShowHelp(this, "Help05.chm");
    }
Ha viszont arra lenne szükségünk, hogy rögtön a tárgymutató legyen látható a megjelenő HTML Help-ben, akkor használjuk a ShowHelpIndex nevű függvényt, melynek paraméterezése megegyezik a ShowHelp függvényével.
    private void button2_Click(object sender, System.EventArgs e)
    {
      Help.ShowHelpIndex(this, "Help05.chm");
    }

HTMLHelp cikksorozat