|
14. díl |
Vážení
čtenáři,
v dnešním
dílu se budu věnovat vašim otázkám a dotazům, týkajících se problémových
oblastí HTML nápovědy. Věřím, že zde najde každý z vás alespoň jednu
odpověď na své „nápovědní“ problémy. Připravte se, začínáme.
|
Dobrý den. Váš seriál o nápovědě je skvělý, již
v mnoha případech jsem za pomoci vašich rad a postupů zdárně vyřešil
své problémy. Rád bych se vás zeptal, zda-li je v HTML nápovědě možné
udělat jednotlivé položky rejstříku ve více úrovních. Rád bych totiž vnořil
pod jednu položku ještě několik dalších. Díky za odpověď. |
Ano,
je to možné. Jen doplním, že čtenář má patrně na mysli tvorbu takzvaných
víceúrovňových položek rejstříku. V prostředí HTML nápovědy můžete
vytvořit víceúrovňových položek, kolik budete chtít (matematicky řečeno: jednu
až n položek). Jak vytvořit položku druhé úrovně si ukážeme na následujícím
příkladu.
Předpokládejme,
že váš rejstřík má takovouhle podobu:
Protože
chceme, aby byla druhá položka podřazena té první, musíme jí „posunout“ směrem
doprava. Označte tedy druhé téma a stiskněte tlačítko Move Selection Right (). Jakmile
uskutečníte demonstrovanou akci, téma se posune doprava a stane se
z něj položka druhé úrovně. Podobně můžete postupovat, pokud budete chtít
vytvořit položku (téma) třetí, čtvrté, páté atd. úrovně.
|
Ve svém projektu nápovědy používám
velmi mnoho rejstříkových položek, které ovšem potřebuji mít seřazené podle
abecedy. Existuje v programu HTML Help Workshop nějaká možnost
automatického abecedního řazení položek rejstříku, nebo je opravdu nevyhnutné
provádět řazení manuálně? |
I když
program HHW rozhodně nepatří mezi pokročilé editory pro tvorbu HTML nápovědy,
možnost abecedního seřazení témat rejstříku poskytuje. Postupujte takto:
Nejprve napište všechny položky rejstříku a poté aktivujte tlačítko Sort Keywords Alphabetically (), které se
nachází na vertikální liště tlačítek.
|
Někde jsem se dočetl, že i položka
obsahu v podobě „otvírající a uzavírající se“ knihy může být navázána na
zobrazení témata nápovědy. Jak to lze udělat v HTML Help Workshopu? |
Ano,
máte pravdu. Styl HTML nápovědy vám dovoluje opatřit i hlavní obsahové téma
příslušným nápovědním textem. Na vysvětlení pro jiné čtenáře: Termínem „hlavní
nápovědní téma“ mám na mysli tematický celek, před kterým je v obsahové
stromové struktuře standardně zobrazena ikona knížky. Jestliže uživatel poklepe
na tuto ikonu, knížka se „otevře“ a zpřístupní uživateli všechna vnořená
témata, která odpovídají příslušnému tematickému celku. Ve skutečnosti však lze
hlavní téma obsahové struktury „naaranžovat“ tak, aby se po klepnutí na položku
tématického celku zobrazil jeho stručný obsah, případně další důležité a vhodné
informace.
Postupujte
podle následujících instrukcí. Nejprve vyberte tu položku, která tvoří jeden
tematický celek. Dále klepněte na tlačítko Edit Selection (), na což se
zobrazí okno Table of Contents Entry. Zde, na záložce General, klikněte na tlačítko Add a nakonec vyberte ten .HTM
dokument, který si přejete asociovat s položkou tematického celku.
Provedete-li kompilaci projektového souboru nápovědy a vytvoříte-li opravdový
soubor HTML nápovědy (.CHM), již v něm bude implementována i uvedená
technika. Vskutku, když uživatel jenom jednou klepne na položku tematického
celku, objeví se kýžené nápovědní téma.
|
Ke svému programu dodávám i
nápovědu ve formátu komprimovaného souboru HTML (.CHM). Protože program i
nápovědu poměrně často aktualizuji, potřeboval bych uživatele upozornit na
nová témata, která byla do nápovědy přidána od vypuštění poslední verze
softwaru. Chtěl bych vás proto poprosit o radu, jak toto dilema vyřešit. |
Problém
označování nových, nebo modifikovaných témat nápovědy se v dotazech
objevuje s pravidelní periodou. Je vskutku chvályhodné, že stále ještě
existují producenti softwaru, který se snaží co nejvíce vycházet vstříc
finálním uživatelům tím, že označují změněná témata speciálními vizuálními
znaky v obsahové sekci nápovědy (TOC). A jak označit modifikované téma
v programu HTML HelpWorkshop? Inu, velmi lehce, jak ihned uvidíte.
Po
potvrzení změn se u modifikované položky objeví červená hvězdička, která
indikuje, že jde opravdu o nové, nebo aktualizované téma. Situaci ilustruje
další obrázek.
Samozřejmě
že problematika označování nových témat nápovědy se dá vyřešit i jiným
způsobem. Můžete kupříkladu vytvořit své vlastní ikony obsahové struktury
nápovědy a upozornit uživatele na význam těchto ikon.
|
Potřeboval
bych z HTML nápovědy spustit externí program. V nápovědě typu
WinHelp 4.0 jsem pro tento účel používal makro ExecFile s platnými
parametry. V HTML nápovědě jsem ale žádné takové makro nenašel. Otázka
je nasnadě, jak lze spustit program z prostředí HTML nápovědy? |
Makro
ExecFile (EF) jste hledali v HTML nápovědě marně. Pro spuštění externího
programu se nyní používá ovládací prvek ActiveX s názvem HTML Help Control.
Prostě instanci tohoto prvku vložíte do kódu toho .HTM souboru, ze kterého
budete chtít spustit požadovaný program. Abyste celý postup lépe pochopili,
uvedeme si příklad spuštění programu Poznámkový blok (notepad) z HTML
nápovědy. Postupujte takto:
<OBJECT id=hhctrl
type="application/x-oleobject"
classid="clsid:adb880a6-d8ff-11cf-9377-00aa003b7a11"
codebase="hhctrl.ocx#Version=4,74,9273,0"
width=100
height=100
>
<PARAM name="Command"
value="ShortCut">
<PARAM name="Button"
value="Text:Poznámkový blok">
<PARAM name="Item1"
value=",notepad,">
</OBJECT>
Zkompilujete-li
soubor nápovědy, ve zvoleném .HTM souboru se bude nacházet i vytvořené
tlačítko, po aktivaci kterého se spustí určený program.
|
Po
spuštění nápovědy bych rád zobrazil firemní logo. Poraďte prosím, jak to
udělat. |
Zobrazení
loga po nastartování nápovědy je vhodné jak pro prezentaci firmy, tak pro
sdělení informací ohledně autorských práv. Ve skutečnosti můžete nechat
zobrazit jakýkoli obrázek, nemusí jít nutně o logo společnosti a zobrazení
obrázku se podobně nemusí nevyhnutně vázat na start systému nápovědy (obrázek
lze zobrazit po zobrazení libovolného .HTM souboru). Uvedený úkol nám pomůže
vyřešit ovládací prvek ActiveX s názvem HTML Help Control, jehož instanci
vložíme do toho .HTM souboru, po zobrazení kterého chceme zobrazit i obrázek. Postup
vkládání instance ovládacího prvku do konkrétního .HTM souboru jsem už
vysvětloval několikrát, a proto se k němu již nebudu vracet. Jediné, na co
nesmíte zapomenout, je vybrání položky Splash screen ze seznamu Specify the
command v prvním
kroku průvodce vkládání prvku do .HTM souboru. Podobně můžete nastavit i počet
sekund, po uplynutí kterých má obrázek zmizet z obrazovky počítače.
|
Rád bych začal s profesionálním vývojem nápovědy. Mohl
byste mi doporučit nějakou literaturu, případně internetové zdroje? Děkuji
pěkně. |
Pokud
vím, tak literatury zabývající se tvorbou nápovědy (či už stylu WinHelp 4.0
nebo HTML) je opravdu velice poskrovnu. V českém jazyce vyšla jenom kniha
o tvorbě nápovědy ve Windows 95, v originálu pojmenovaná jako „Microsoft
Windows 95 Help Authoring Kit“. HTML nápovědou se zabývá výtečná kniha
s názvem „Microsoft Official HTML Help Authoring Kit“, která je psána v
anglickém jazyce. Vzpomínané knihy si můžete objednat v některých
internetových knihkupectvích. Co se týče druhé poloviny dotazu, a sice
internetových zdrojů, v oblibě mám především dvě stránky (obě jsou
zahraniční). Jde o http://www.helpware.net
a http://www.helpmaster.com.
|
Na svém
počítači používám operační systém Windows XP a také Visual Basic 6.0. Zkoušel
jsem spouštět soubor HTML nápovědy z VB 6.0, no narazil jsem na jistý
problém. Vždy, když zavřu aplikaci VB příkazem Zavřít ze systémové nabídky a soubor s nápovědou je stále
spuštěný, VB se okamžitě ukončí, jednoduše „zmizne z obrazovky“. Nevím,
jestli jste se s tímto problémem setkal, no budu vděčný za jakoukoli
radu. |
Domnívám
se, že bude zapotřebí posoudit předstíranou problémovou situaci komplexněji,
aby čtenáři dokonale pochopili podstatu tohoto velmi zajímavého a delikátního
problému. Při ukončování projektové aplikace v prostředí VB 6.0 pod systémem
Windows XP dochází občas k záhadné
situaci. Pro naší úvahu předpokládejme, že na formuláři je umístěné tlačítko,
kterého obsluhu události Click tvoří následující příkaz:
Call HtmlHelp(Me.hWnd,
"c:\soubor1.chm", HH_DISPLAY_TOPIC, 0)
Tento
příkaz volá API funkci HTMLHelp, která zabezpečuje zobrazení souboru
s HTML nápovědou (abstrahuji od nutnosti deklarace funkce a všech
potřebných konstant). Pro ukončení běžící instance nápovědy je vyplněna i
obsluha události QueryUnload formuláře tímto příkazem:
Call
HtmlHelp(0, vbNullString, HH_CLOSE_ALL, 0)
Nutno
podotknout, že po spuštění projektu a po klepnutí na tlačítko se zavolá funkce
HTMLHelp a soubor s HTML nápovědou se úspěšně zobrazí. Potíže ovšem
nastávají při ukončování aplikace. Ukončíte-li aplikaci tak, že jednoduše
klepněte na tlačítko X v pravé části
titulkového pruhu aplikace, vše je v pořádku, ukončí se jak aplikace, tak
i spuštěná instance HTML nápovědy. Ovšem pozor! Jestliže ukončíte aplikaci
vybráním příkazu Zavřít ze systémové
nabídky, VB odstřelí projektovou aplikaci a záhy i sám sebe. Toto je patrně ten
pravý problém, na který se čtenář ptá.
Uvedené
chování Visual Basicu je ovšem velice nevyzpytatelné; někdy je HTML nápověda
řádně ukončena a vše je OK, jindy naopak dojde ke zhroucení aplikace i VB. Při
experimentech jsme narazil i na další zajímavost: Pokusíte-li se vygenerovat
samostatně spustitelný soubor (.EXE) projektu a ten spustíte, světe div se, vše
je v naprostém pořádku! Dokonce není hlášena ani žádná chyba za běhu
programu! Proto moje rada zní, abyste v případě uvedené chyby vygenerovali
spustitelný soubor a testovali ten.
|
Naprosto bezproblémové jsou experimenty
s HTML nápovědou pod Windows XP ve Visual Basicu .NET. Tady nedochází
k žádným chybám ani jakýmkoli nejasnostem. Pokud tedy máte přístup
k VB .NET, zapomeňte na VB 6.0 a využívejte výhod .NET prostředí. |
Použitý
kód pro volání nápovědy je zcela v pořádku, zkoušel jsem ho i pod Windows
Me, kde vše běhalo bez nejmenších potíží.
|
Snažím
se tvořit nápovědu, no program HTML Help Workshop mi moc nevyhovuje. Nevíte
mi poradit jiný software na tvorbu HTML nápovědy? Děkuji. |
Program
HTML Help Workshop může být opravdu pro někoho nevhodný, obzvláště pro
uživatele, kteří by rádi tvořili své soubory nápověd v uživatelsky
přívětivějším a komfortnějším programu. Programů pro tvorbu a editaci souborů
nápověd existuje poměrně značné množství, od těch méně kvalitních, které lze
pořídit zpravidla za mrzký peníz (případně zadarmo) až po aplikační „špičky“,
kterých obstarání vychází i na několik desítek tisíc korun. Celkem slušný program
pro editaci HTML nápovědy a také nápovědy nové generace (MS Help 2.0) je FAR,
zkušební verzi kterého si můžete stáhnout z webu http://www.helpware.net. Jedinečným je
zajisté softwarový produkt RoboHelp, který má mezi programy pro tvorbu nápovědy
již dlouhou tradici. Pomocí uvedeného programu lze vytvářet nápovědu ve zcela
WYSIWYG prostředí. Více informací o tomto produktu se můžete dozvědět na http://www.ehelp.com.