9. Reference WinHelp
  1. WinHelp poskytuje mno₧inu maker, kterΘ umo₧≥ujφ °φdit a p°izp∙sobovat funkΦnost nßpov∞dy. Kdy₧ vytvß°φme nßpov∞dn² soubor, pak m∙₧eme makra nßpov∞dy spouÜt∞t:
  2. Makra nßpov∞dy imitujφ formßt jazyka C, ale nepodporujφ prom∞nnΘ a vyhodnocovßnφ v²raz∙. P°φkaz makra nßpov∞dy mß dv∞ hlavnφ Φßsti: jmΘno makra a parametry makra uzav°enΘ v zßvorkßch. JmΘno makra musφ b²t zapsßno p°esn∞ tak, jak je dßno syntaxφ makra a parametry musφ b²t v po°adφ danΘ syntaxφ. Parametry poskytujφ informace pro makro nap°. makro JumpId, kterΘ provßdφ skok na prvek nßpov∞dy se specifikovanou identifikacφ, mß parametry pro jmΘno nßpov∞dnΘho souboru a identifikaci prvku nßpov∞dy. VÜechna makra nßpov∞dy pou₧φvajφ nßsledujφcφ syntaxi:
    JmenoMakra(parametr1, parametr2, ...)
    Otevφracφ zßvorka, uzavφracφ zßvorka a Φßrky jsou po₧adovanΘ znaky vlo₧enΘ do syntaxe p°φkazu makra. Ve jmΘnu maker nenφ rozliÜovßna velikost pφsmen. Help Workshop automaticky m∞nφ jmΘna maker na jejich zkrßcen² tvar a odstra≥uje vÜechny nadbyteΦnΘ mezery. To umo₧≥uje pou₧φvat pro makra jejich dlouhß jmΘna v .rtf souborech prvk∙ nßpov∞d pro zv²Üenφ jejich Φitelnosti.
    Parametry mohou b²t textovΘ °et∞zce nebo Φφsla a odd∞lujφ se Φßrkami. Pokud poslednφ parametr makra je 0 nebo "", pak tento parametr m∙₧eme vynechat. N∞kterß makra nemajφ parametry, ale zßvorky jsou stßle vy₧adovßny.
    Pokud vytvo°φme u₧ivatelskΘ makro, pak jmΘno makra musφ zaΦφnat pφsmenem, nßsledovanΘ libovolnou kombinacφ pφsmen, Φφslic a znak∙ podtr₧enφ. Nap°.
    PlayAudio()
    Do °et∞zce makra m∙₧eme vlo₧it vφce ne₧ jedno makro a pak je nutno je navzßjem odd∞lit dvojteΦkami nebo st°ednφky. WinHelp spouÜtφ makra sekvenΦn∞. Zp∞tnß lomφtka jsou pou₧φvßna jako ESC sekvence a umo₧≥ujφ vklßdat uvozovky do parametr∙ maker. Pokud pot°ebujeme pou₧φt v parametru zp∞tnΘ lomφtko (nap°. ve specifikaci adresß°ovΘ cesty), pak musφme pou₧φt dvojitΘ zp∞tnΘ lomφtko pro ka₧dou ·rove≥ vno°enφ makra. Ve specifikaci cesty lze mφsto zp∞tn²ch lomφtek pou₧φvat normßlnφ lomφtka.
    Help Workshop testuje p°φpustnost ka₧dΘho makra vlo₧enΘho do nßpov∞dnΘho souboru p°i p°ekladu. P°i zjiÜt∞nφ chyby, je zobrazena chybovß zprßva a zpracovßnφ tohoto makra je ukonΦeno. Help Workshop testuje zda: Pokud chceme k naÜemu nßpov∞dnΘmu souboru p°idat funkΦnost, kterou WinHelp nepodporuje, pak m∙₧eme vyvinout u₧ivatelskΘ rozÜφ°enφ podpory po₧adovan²ch funkcφ. M∙₧eme pou₧φt volßnφ funkcφ v DLL jako makra nßpov∞dy registracφ funkcφ v projektovΘm souboru pomocφ makra RegisterRoutine.
    Program m∙₧e zaslat parametr HELP_COMMAND ve volßnφ API WinHelp, kterΘ specifikuje makro pro spouÜt∞nφ. Toto volßnφ WinHelp vypadß takto:
    WinHelp(hwndProgram, "HelpFile[>WindowName]", HELP_COMMAND, "macro");
    Nßsledujφcφ p°φklad pou₧φvß makro ALink v souboru Myhelp.hlp:
    case IDM_HELP_KEYBOARD:
     WinHelp(hwnd,"myhelp.hlp",HELP_COMMAND,(DWORD)"AL('HELP_KEYBOARD\')");
     return 0;
    Kdy₧ volßme makro z programu, pak nem∙₧eme pou₧φt Help Workshop k p°evodu maker do formßtu, kterΘmu WinHelp rozumφ. To znamenß, ₧e musφme pou₧φvat krßtkß jmΘna maker, pou₧φvat uvozovky okolo vÜech °et∞zcov²ch parametr∙, pro ΦφselnΘ parametry pou₧φvat ΦφselnΘ hodnoty a pou₧φvat vÜechny parametry maker. Nenφ mo₧no vynechat vφce parametr∙ jak je to mo₧no provΘst v prvku nßpov∞dy. JedinΘ parametry, kterΘ je mo₧no vynechat jsou koncovΘ parametry s hodnotou 0 nebo "".
    Help Workshop podporuje vno°enß makra a makra kterß jsou vlo₧ena jako hodnota parametru jinΘho makra. Proto₧e vno°enß makra Φasto majφ svΘ vlastnφ °et∞zcovΘ parametry, musφme Φasto specifikovat ukonΦenφ °et∞zce v jinΘm °et∞zci. Nap°. nßsledujφcφ makro vytvß°φ tlaΦφtko nazvanΘ Time, kterΘ pou₧φvß makro ExecFile jako parametr. Kdy₧ stiskneme tlaΦφtko, pak je spuÜt∞n program Clock MS Windows. Proto₧e makro ExecFile p°ebφrß jako sv∙j prvnφ parametr °et∞zec, musφ b²t uzav°en v apostrofech:
    CreateButton("btn_time", "&Time", "ExecFile('clock', 0)")
    Pokud vno°enΘ makro mß n∞jakΘ °et∞zcovΘ parametry, pak musφ mφt uvozovacφ znaky, kterΘ se liÜφ od uvozovacφch znak∙ obklopujφcφho makra. Pokud tedy okolo makra jsou pou₧ity uvozovky, pak vno°enΘ °et∞zce musφ b²t uzav°eny v apostrofech. M∙₧eme takΘ pou₧φt znaky apostrof∙ k oznaΦenφ nejvφce vn∞jÜφch parametr∙.
  3. Nßsleduje p°ehled maker nßpov∞dy rozΦlen∞n² podle funkcφ se struΦn²m popisem maker. Tato makra m∙₧eme pou₧φvat ve sv²ch nßpov∞dn²ch souborech.

  4. Makra tlaΦφtek - tato makra m∙₧eme pou₧φt pro zp°φstupn∞nφ standardnφch tlaΦφtek nßpov∞dy, vytvß°enφ nov²ch tlaΦφtek nebo modifikaci funkΦnosti tlaΦφtek.
     
    Back Zobrazuje prvek nßpov∞dy, kter² byl d°φve zobrazen v souΦasnΘm okn∞.
    BrowseButtons P°idßvß tlaΦφtko Browse k °ßdku tlaΦφtek nßpov∞dy.
    ChangeButtonBinding M∞nφ makro p°i°azenΘ k tlaΦφtku na °ßdku tlaΦφtek.
    ChangeEnable P°i°azuje makro k tlaΦφtku na °ßdku tlaΦφtek a povoluje toto tlaΦφtko.
    Contents Zobrazuje strßnku obsahu nebo implicitnφ prvek souΦasnΘho nßpov∞dnΘho souboru.
    CreateButton Vytvß°φ novΘ tlaΦφtko a p°idßvß je na °ßdek tlaΦφtek.
    DestroyButton Odstra≥uje tlaΦφtko z °ßdku tlaΦφtek.
    DisableButton Zakazuje tlaΦφtko na °ßdku tlaΦφtek.
    EnableButton Povoluje tlaΦφtko na °ßdku tlaΦφtek.
    Find Zobrazuje strßnku Find v dialogovΘm okn∞ Help Topics.
    Finder Zobrazuje dialogovΘ okno Help Topics v jeho poslednφm stavu.
    Menu Zobrazuje mφstnφ nabφdku, kterou obvykle zp°φstup≥ujeme prav²m tlaΦφtkem myÜi.
    Next Zobrazuje nßsledujφcφ prvek nßpov∞dy ve vyhledßvacφ sekvenci.
    Prev Zobrazuje p°edchozφ prvek nßpov∞dy ve vyhledßvacφ sekvenci.
    Search Zobrazuje strßnku Index v dialogovΘm okn∞ Help Topics.

    Makra klßvesnice - tato makra m∙₧eme pou₧φt pro p°idßvßnφ klßvesnicovΘho p°φstupu k makr∙m nßpov∞dy.
     
    AddAccelerator P°i°azuje klßvesu akcelerßtoru k makru nßpov∞dy.
    RemoveAccelerator Odstra≥uje klßvesu akcelerßtoru od makra nßpov∞dy.

    Makra vazeb - tato makra m∙₧eme pou₧φt k vytvo°enφ hypertextov²ch vazeb na specifickΘ prvky nßpov∞dy.
     
    ALink Skok na prvek nßpov∞dy, kter² obsahuje specifikovanΘ A-klφΦovΘ slovo.
    JumpContents Skok na prvek obsahu specifikovanΘho souboru nßpov∞dy.
    JumpContext Skok na prvek nßpov∞dy specifikovan² Φφslem kontextu.
    JumpHash Skok na prvek nßpov∞dy specifikovan² heÜovacφm Φφslem prvku.
    JumpHelpOn Skok na prvek obsahu souboru How To Use Help.
    JumpId Skok na prvek nßpov∞dy specifikovan² identifikacφ prvku.
    JumpKeyword Skok na prvek nßpov∞dy obsahujφcφ specifikovanΘ K-klφΦovΘ slovo.
    KLink Skok na prvek nßpov∞dy, kter² obsahuje specifikovanΘ K-klφΦovΘ slovo.
    PopupContext Zobrazuje vyno°ovacφ okno prvku specifikovanΘ Φφslem kontextu.
    PopupHash Zobrazuje vyno°ovacφ okno prvku specifikovanΘ heÜovacφm Φφslem prvku.
    PopupId Zobrazuje vyno°ovacφ okno prvku specifikovanΘ identifikacφ prvku.
    UpdateWindow Skok na specifikovan² prvek ve specifikovanΘm okn∞ a nßvrat zaost°enφ na okno, kterΘ volalo okno.

    Makra nabφdky - tato makra m∙₧eme pou₧φt k vytvß°enφ nebo modifikaci nabφdky nebo prvku nabφdky.
     
    AppendItem P°ipojuje prvek nabφdky na konec nabφdky.
    ChangeItemBinding M∞nφ makro p°i°azenΘ k prvku nabφdky.
    CheckItem Zobrazuje odÜkrtnutφ vedle prvku nabφdky.
    DeleteItem Odstra≥uje prvek nabφdky z nabφdky.
    DisableItem Zakazuje prvek nabφdky.
    EnableItem Povoluje zakßzan² prvek nabφdky.
    ExtAbleItem Povoluje nebo zakazuje prvek nabφdky.
    ExtInsertItem Vklßdß prvek nabφdky na danou pozici nabφdky v danΘm stavu.
    ExtInsertMenu Vklßdß podnabφdku v p°edem definovanΘ nabφdce.
    InsertItem Vklßdß prvek nabφdky na danou pozici nabφdky.
    InsertMenu P°idßvß novou nabφdku.
    ResetMenu Uvßdφ nabφdky do jejich implicitnφho stavu.
    UncheckItem Odstra≥uje oznaΦenφ prvku nabφdky.

    Makra programu - tato makra m∙₧eme pou₧φt pro p°φstup k program∙m.
     
    ControlPanel Otevφrß specifikovanou strßnku v dialogovΘm okn∞ Control Panel.
    ExecFile SpouÜtφ program nebo otevφrß soubor a spouÜtφ program p°i°azen² k tomuto souboru.
    FileExist ZjiÜ¥uje zda specifikovan² soubor existuje na poΦφtaΦi u₧ivatele.
    ShellExecute Otevφrß, tiskne nebo spouÜtφ soubor nebo program.
    ShortCut SpouÜtφ nebo aktivuje program a zasφlß zprßvu WM_COMMAND.

    Makra oznaΦovßnφ textu - tato makra m∙₧eme pou₧φt k vytvo°enφ a manipulaci s oznaΦovaΦi textu.
     
    DeleteMark Odstra≥uje znaΦku p°idanou makrem SaveMark.
    GotoMark Skok na znaΦku nastavenou makrem SaveMark.
    IfThen SpouÜtφ makro nßpov∞dy, pokud danß znaΦka existuje.
    IfThenElse SpouÜtφ jedno ze dvou maker pokud danß znaΦka existuje.
    IsMark Testuje zda znaΦka nastavenß makrem SaveMark existuje.
    IsNotMark Testuje zda znaΦka nastavenß makrem SaveMark neexistuje.
    Not Neguje v²sledek vrßcen² makrem IsMark.
    SaveMark Uklßdß znaΦku pro souΦasn² prvek nßpov∞dy, okno a nßpov∞dn² soubor.

    Makra oken - tato makra m∙₧eme pou₧φt k °φzenφ nebo modifikaci chovßnφ r∙zn²ch oken nßpov∞dy.
     
    CloseSecondarys Uzavφrß vÜechna okna nßpov∞dy mimo souΦasnΘho sekundßrnφho okna.
    CloseWindow Uzavφrß hlavnφ nebo sekundßrnφ okno nßpov∞dy.
    FocusWindow M∞nφ zaost°enφ na specifikovanΘ okno nßpov∞dy.
    HelpOnTop Umis¥uje vÜechna okna nßpov∞dy nad ostatnφ okna.
    PositionWindow Nastavuje velikost a pozici okna nßpov∞dy.
    SetPopupColor Nastavuje barvu pozadφ vyno°ovacφch oken.

    R∙znß makra
     
    About Zobrazuje dialogovΘ okno Version WinHelp.
    Annotate Zobrazuje dialogovΘ okno Annotation.
    BackFlush Odstra≥uje seznam historie ze souΦasnΘho okna.
    BookmarkDefine Zobrazuje dialogovΘ okno Define, kterΘ je dostupnΘ z nabφdky Bookmark v hlavnφm okn∞ nßpov∞dy.
    BookmarkMore Zobrazuje dialogovΘ okno Bookmark, kterΘ umo₧≥uje u₧ivateli volit, kter² zalo₧en² prvek zobrazit.
    Compare Zobrazuje nßpov∞dn² soubor v dalÜφ instanci WinHelp. Oba nßpov∞dnΘ soubory jsou zobrazeny vedle sebe.
    CopyTopic Kopφruje vÜechen text souΦasn∞ zobrazenΘho prvku do schrßnky.
    EndMPrint OpouÜtφ okno tiskov²ch zprßv a ukonΦuje tisk vφce prvk∙.
    Exit UkonΦuje WinHelp.
    FileOpen Zobrazuje dialogovΘ okno Open, kterΘ je dostupnΘ z nabφdky File hlavnφho okna nßpov∞dy.
    FloatingMenu Zobrazuje mφstnφ nabφdku na souΦasnΘ pozici myÜi.
    Flush Nutφ WinHelp k zpracovßnφ vÜech nevy°φzen²ch zprßv vΦetn∞ d°φve volan²ch maker.
    Generate Zasφlß zprßvu souΦasnΘmu aktivnφmu oknu nßpov∞dy.
    HelpOn Zobrazuje nßpov∞dn² soubor pro WinHelp.
    History Zobrazuje seznam historie, kter² zobrazuje a₧ 31 prvk∙ prohlΘdnut²ch v hlavnφm okn∞ nßpov∞dy od spuÜt∞nφ WinHelp.
    InitMPrint Inicializuje WinHelp v p°φprav∞ pro tisk vφce prvk∙.
    IsBook ZjiÜ¥uje, zda WinHelp je spuÜt∞n jako samostatn² systΘm nebo spuÜt∞n z n∞jakΘho programu.
    Menu Zobrazuje mφstnφ nabφdku pro souΦasnΘ okno nßpov∞dy.
    MPrintHash Tiskne prvek identifikovan² heÜovacφm Φφslem.
    MPrintID Tiskne prvek urΦen² identifikacφ.
    NoShow Zabra≥uje zobrazenφ oknu nßpov∞dy pokud ji₧ nenφ zobrazeno.
    Print Zasφlß souΦasn∞ zobrazen² prvek na tiskßrnu.
    RegisterRoutine Registruje funkci v DLL.
    SetContents UrΦuje specifikovan² prvek jako implicitnφ prvek v nßpov∞dnΘm souboru.
    TCard Zasφlß zprßvu programu, kter² je vyvolßn WinHelp jako trΘnovacφ karta.
    Test SpouÜtφ internφ test WinHelp.
    TestALink Testuje, zda makro ALink mß efektivnφ vazbu alespo≥ na jeden prvek.
    TestKLink Testuje, zda makro KLink mß efektivnφ vazbu alespo≥ na jeden prvek.

    DalÜφ informace o makrech a jejich syntaxi jsou uvedeny v nßpov∞d∞.

  5. Nßsleduje tabulka popisujφcφ sekce, kterΘ mohou b²t pou₧ity v projektovΘm souboru:

  6.  
    Sekce Funkce
    [ALIAS]  P°ezdφvky jednΘ nebo vφce identifikacφ prvk∙ na jinΘ identifikace prvk∙.
    [BAGGAGE]  Seznam soubor∙, kterΘ jsou umφst∞ny do nßpov∞dnΘho souboru.
    [BITMAPS] Specifikace soubor∙ bitov²ch map. Tato sekce je udr₧ovßna pouze pro zp∞tnou kompatibilitu.
    [BUILDTAGS]  Specifikuje vytvß°ecφ znaΦky. Tato sekce je udr₧ovßna pouze pro zp∞tnou kompatibilitu.
    [CONFIG]  Specifikuje autorem definovanΘ nabφdky a tlaΦφtka pou₧itß v nßpov∞dnΘm souboru a registrovan²ch DLL a funkcφ DLL pou₧it²ch makry v nßpov∞dnΘm souboru. Tato sekce je vy₧adovßna pouze pokud nßpov∞dn² soubor pou₧φvß tyto slu₧by.
    [CONFIG:name]  StejnΘ jako  [CONFIG], ale pou₧φvßno pro konfigurovßnφ jednotliv²ch oken.
    [EXCLUDE]  Specifikuje vytvß°ecφ znaΦky identifikujφcφ prvky, kterΘ chceme vylouΦit z nßpov∞dnΘho souboru.
    [FILES] Specifikuje soubory prvk∙ nßpov∞dy, kterΘ majφ b²t pou₧ity. Tato sekce je vy₧adovßna.
    [FONTS]  Specifikuje pφsma v souborech prvk∙ nßpov∞d, kterΘ budou nahrazeny jin²m pφsmem, velikostφ nebo znakovou mno₧inou.
    [INCLUDE] Specifikuje vytvß°ecφ znaΦky identifikujφcφ prvky, kterΘ majφ b²t vlo₧eny do nßpov∞dnΘho souboru.
    [MACROS]  Specifikuje spouÜt∞nß makra, kdy₧ u₧ivatel vybere z index∙ jedno klφΦovΘ slovo uvedenΘ v tΘto sekci.
    [MAP] P°i°azuje identifikace prvk∙ nßpov∞dy s Φφsly kontextu, kterΘ program m∙₧e pou₧φt k vyvolßnφ nßpov∞dnΘho souboru.
    [OPTIONS]  Specifikuje volby pro °φzenφ vytvß°ecφho procesu. Tato sekce je povinnß.
    [WINDOWS] Definuje charakteristiky hlavnφho okna nßpov∞dy a typ∙ sekundßrnφch oken pou₧it²ch v nßpov∞dnΘm souboru.

    St°ednφky jsou pou₧ity v projektovΘm souboru k oznaΦenφ komentß°∙ (mimo sekce [MACROS]). V ostatnφch sekcφch je ignorovßn text od st°ednφku do konce °ßdku.
    Informace o obsahu jednotliv²ch sekcφ najdete v nßpov∞d∞.

  7. V souborech prvk∙ nßpov∞d je mo₧no pou₧φvat nßsledujφcφ p°φkazy:

  8.  
    {bmx}  P°φkaz vklßdß grafiku do prvku nßpov∞dy p°i p°ekladu nßpov∞dnΘho souboru.
    {button}  P°φkaz vklßdß tlaΦφtko do nßpov∞dnΘho souboru a spouÜtφ specifikovanΘ makro, kdy₧ u₧ivatel tlaΦφtko stiskne.
    {ewx} P°φkaz vytvß°φ vestav∞nΘ okno v nßpov∞dnΘm souboru.
    {mci} P°φkaz vklßdß soubor .avi do nßpov∞dnΘho souboru.

    Podrobn∞jÜφ informace o t∞chto p°φkazech najdete v nßpov∞d∞.

  9. WinHelp mß p∞t standardnφch nabφdek v hlavnφm okn∞: File, Edit, Bookmark, Options a Help. I kdy₧ nelze modifikovat standardnφ nabφdky nebo prvky nabφdek, je mo₧no p°idßvat dalÜφ prvky nabφdky k t∞mto nabφdkßm:

  10.  
    Mabφdka/prvek Identifikace
    File mnu_file
    Edit mnu_edit
    Options mnu_options
    Help mnu_help
    Mφstnφ nabφdka mnu_floating

    WinHelp nabφzφ nßsledujφcφ standardnφ tlaΦφtka v hlavnφm i sekundßrnφch oknech:
     
    TlaΦφtko Identifikace Makro Popis
    Contents btn_contents Contents Zobrazuje strßnku obsahu v dialogovΘm okn∞ Help Topics. Pokud soubor obsahu neexistuje, pak zobrazuje implicitnφ prvek.
    Index btn_search  Search Zobrazuje strßnku Index v dialogovΘm okn∞ Help Topics.
    Find btn_find Find Zobrazuje strßnku Find v dialogovΘm okn∞ Help Topics.
    Help Topics btn_topics Finder Zobrazuje dialogovΘ okno Help Topics s nejΦast∞ji pou₧φvan²mi zßlo₧kami. Pokud nepou₧ijeme toto tlaΦφtko, pak nelze pou₧φt tlaΦφtka Contents a Index.
    Back btn_back Back Skok na naposled zobrazen² prvek v tomto okn∞.
    Options btn_menu Menu Zobrazuje mφstnφ nabφdku souΦasnΘho okna.
    Print btn_print Print Tiskne souΦasn² prvek.
    << btn_previous Prev Skok na p°edchßzejφcφ prvek v prohlφ₧ecφ sekvenci.
    >>  btn_next Next Skok na nßsledujφcφ prvek v prohlφ₧ecφ sekvenci.

    DalÜφ informace o pou₧φvßnφ WinHelp naleznete v nßpov∞d∞.

  11. Pokuste se v n∞jakΘm nßpov∞dnΘm souboru pou₧φt n∞jakΘ makro.
9. Reference WinHelp