C# - HTMLHelp készítése és felhasználása C#-ból

HTMLHelp 1. rész

forráskód letöltése
Új cikksorozatunkban a HTML Help készítését és az elkészült súgó állomány felhasználási területeit vesszük szemügyre hétről-hétre.
A HTML Help elkészítéséhez a Microsoft HTML Help Workshop nevű programját használjuk fel, mely ingyenesen letölthető az internetről. A példaprogramok készítése közben ennek a használatát is ismertetjük részletesen.
A cikksorozatban kitérünk azokra a felhasználási területekre is, melyből egyértelműen látható lesz, hogy egy HTML Help állomány elkészítésével nem csak a hagyományos értelemben vett súgó állományt kapunk, hanem azt sok más céllal is felhasználhatjuk.
A cikksorozat teljesen a kezdő szintről indul, így az is belevághat a megismerésbe, aki még soha nem foglalkozott a címben említett témával. A cikkek megértéséhez persze nem árt, ha a C#-t már használta az Olvasó, valamint alapfokon jó, ha tisztában van a web lapok készítésével, a HTML nyelvvel.
Microsoft HTML Help Workshop programja aktuálisan a httphttp://msdn.microsoft.com/library/default.asp?url=/library/en-us/htmlhelp/html/hwMicrosoftHTMLHelpDownloads.asp oldalról tölthető le. Nem véletlenül írtuk, hogy aktuálisan, mert ez bizony az időnkénti átszervezések miatt más oldalra is kerülhet. A cikk írásakor a fenti cím még létezett, ha mostanra ez már csak emlék lenne, akkor érdemes a Microsoft oldalain a keresést választani és ott a HTMLHelp szóra keresni. Valószínűsíthető, hogy néhány kattintás után már eljuthatunk a megfelelő oldalra.
Kezdjük Help Workshop használatával. A cikk készítésekor az 1.3-as verziót használtuk. Ahhoz, hogy felhasználhassuk a súgó állományt, először is el kell készítenünk azt. Indítás után válasszuk a File New menüpontot. Ekkor megjelenik egy kis ablak, melyből azt választhatjuk ki, hogy mit is szeretnénk készíteni. Válasszuk most a Project elemet.
Ekkor elindul a New Project varázsló. Itt első kérdésében azt dönthetjük el, hogy egy régebbi Window Help-et szeretnénk-e konvertálni HTML Help-é. Mivel most újat szeretnénk létrehozni, így ezt ne válasszuk, hanem kattintsunk a Next gombra.
Második lépésben ki kell választanunk azt az alkönyvtárat, ahová menteni szeretnénk a készítendő HTML Help-et és a hozzá tartozó állományokat. A HTML Help forrás állománya, melyből készül a súgó HHP kiterjesztést fog kapni. A későbbiek folyamán, ha változtatni szeretnénk a help-en, akkor ezt az állományt kell megnyitnunk.
Ha ez is megvan, akkor ismét tovább léphetünk a Next-el.
Következő oldalon azt kérhetjük, hogy legyen-e tartalomjegyzék, index, stb. a help-hez. Most az egyszerűség kedvéért ezeket ne kérjük. A későbbiek folyamán természetesen még visszatérünk ezekre a lehetőségekre is.
Ismét a Next és ezzel készen is vagyunk már csak a Finish gomb lenyomására van szükség.
Ekkor megjelenik néhány új ablak, új nyomógombbal. A help készítéséhez szükségünk lesz néhány web lapra is, melyben bármilyen HTML kódot, java scriptet, minden egyebet felhasználhatunk, mint egy szokványos web lap készítésekor.
A help állományhoz új web lapot úgy tudunk hozzáadni, hogy a jobb oldalt látható függőleges nyomógomb sorból az Add/Remove topic files gombot választjuk. Ekkor egy listát kapunk, melyben felvehetünk új web lapot az Add gombbal, illetve törölhetünk már meglévőt a Remove gombbal.
Ha már van web lap felvéve, akkor a szintén jobb oldalon található gombok közül a Save all files and compile gomb lenyomásával elmenthetjük és lefordíthatjuk a forrást egy HTML Help állománnyá, melynek CHM kiterjesztése lesz.
Fordítás után kapunk egy ablakot, melyben a fordítás statisztikája és eredménye, valamint az esetleges hibaüzenetek láthatók. Ha nem volt gond, akkor létrejön a CHM állomány, melyre ha egy Intézőn keresztül rákattintunk, akár meg is nyithatjuk és láthatjuk a benne elhelyezett web lapot.
Ezek után be is zárhatjuk a HTML Help Workshop-ot és indítsuk el a Visual Studio.NET-et, nézzük meg, hogy onnan milyen módszerrel érhető el az elkészült help.
A megvalósítás igen egyszerű: szükség van az Help osztályra, melynek a ShowHelp statikus függvényét meghívva megjeleníthetünk egy tetszőleges help-et.
    private void button1_Click(object sender, System.EventArgs e)
    {
      Help.ShowHelp(this, "Help01.chm");
    }
A függvény hívásával tehát megjelenik az imént készített első HTML Help súgó állományunk.
A további fejezetekben persze ennél jóval bonyolultabb példákat is készítünk még, melyeknek már több gyakorlati haszna lesz a mostaninál.

HTMLHelp cikksorozat