349

Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need
Page 2: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

MicrosoftHTMLHelpOverview

Microsoft®HTMLHelpconsistsofanonlineHelpViewer,relatedhelpcomponents,andhelpauthoringtoolsfromMicrosoftCorporation.TheHelpViewerusestheunderlyingcomponentsofMicrosoftInternetExplorertodisplayhelpcontent.ItsupportsHTML,ActiveX®,Java™,scriptinglanguages(JScript®,andMicrosoftVisualBasic®ScriptingEdition),andHTMLimageformats(.jpeg,.gif,and.pngfiles).Thehelpauthoringtool,HTMLHelpWorkshop,providesaneasy-to-usesystemforcreatingandmanaginghelpprojectsandtheirrelatedfiles.

Features

Aboutcreatinghelp

Page 3: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

NewfeaturesinthisreleaseMicrosoft®HTMLHelpversion1.3containsthesenewfeatures:

Satellite.dllfilesenablehelpinallsupportedlanguages.Nowhelpwillalwaysmatchthelanguageoftheinstalledoperatingsystem.

ThereisnowasingleversionofHhupd.exethatworksinallsupportedlanguages.

NOTE:TheseenhancementsaredesignedtomakeHTMLHelpfullycompliantwiththelanguagefeaturesofMicrosoftWindows®2000.FormoreinformationonmultiplelanguagesupportinWindows2000,seetheMultilanguageSupportwhitepaperontheMicrosoftWindows2000Website.

IntroducingHTMLHelp

Page 4: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

TheHTMLHelpcomponentsHTMLHelpcontainsthefollowingcomponents:helpsystemorWebsite.

HTMLHelpActiveXcontrol:asmall,modularprogramusedtoinserthelpnavigationandsecondarywindowfunctionalityintoanHTMLfile.

TheHTMLHelpViewer:afully-functionalandcustomizablethree-panedwindowinwhichonlinehelptopicscanappear.

MicrosoftHTMLHelpImageEditor:anonlinegraphicstoolforcreatingscreenshots;andforconverting,editing,andviewingimagefiles.

TheHTMLHelpJavaApplet:asmall,Java-basedprogramthatcanbeusedinsteadofanActiveXcontroltoinserthelpnavigationintoanHTMLfile.

TheHTMLHelpexecutableprogram:theprogramthatdisplaysandrunshelpwhenyouclickacompiledhelpfile.

TheHTMLHelpcompiler:theprogramthatcompilesproject,contents,index,topic,andotherfilesintoacompiledhelpfile.

TheHTMLHelpAuthoringGuide:anonlineguidedesignedtoassisthelpauthorsinusingHTMLHelptodesignahelpsystem.TheguidealsocontainsacompleteHTMLHelpreferencefordevelopersandanHTMLtagreferenceforauthors.

SomeofthefeaturesoftheHTMLHelpcomponents:

CompressedHTML:acondensedformofHTMLthatgreatlyreducestheamountofdiskspacerequiredforyourhelpsystem.

Helpprojectconversion:afeaturethatenablesyoutoconvertWinHelpprojectsintoHTMLHelpprojects.

IntroducingHTMLHelp

Page 5: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

DesigningahelpsystemThebigpicture

Getanoverviewofwhatcomponentsareinahelpsystem,andhowHTMLHelpassistsyouincreating,managing,organizing,compiling,andtestinghelpfiles.GO

Learnaboutaccessibilityanddisabilityconcerns

Startahelpsystemdesign

Designhelp

DesignforaWebsite

IntroducingHTMLHelp

Page 6: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

YourHelpSystem:ThebigpictureAhelpsystemorhelpWebsiteismadeupofseveraldifferentfilesandcomponentsthatyoucreateusingHTMLHelpWorkshopasahelpauthoringtool.Someofthefilescontainthetext,graphics,andotherelementsthatappearinyourhelptopics.Otherfilescontaininformationabouthowyourhelpsystemwilllookandhowuserswillnavigatethroughyourhelptopics.

UsingHTMLHelpWorkshop,youcreateaprojectfiletomanageallthefilesinyourhelpsystem.Usingaprocesscalledcompiling,HTMLHelpWorkshoptakesalltheinformationaboutyourhelpsystemstoredinthehelpprojectfileandalltherelatedfilesthatmakeupthecontentofyourhelptopics,andcreatesasinglehelpfile.

Exactlywhichtypesoffileswillappearinyourhelpprojectfilewilldependonhowyoudesignyourhelpsystemandwhetheryouplantodistributeitwithaprogram,ortoaWebsite.Thesearethemostcommontypesoffilescontainedinahelpproject:

HTMLtopicfiles,whichcontainthetextthatappearsoneachpageinyourhelpsystemorWebsite.

Graphicsandmultimediafiles,whichcontainlinkstographic,sound,video,animation,andothermultimediafiles.

Helpprojectfiles,whichcontaininformationaboutthelocationofyourtopic,graphic,andotherfiles.

Contentsfiles,whichcontaintheinformationthatappearsinthetableofcontentsforyourhelpsystemorWebsite.

Indexfiles,whichcontaintheinformationthatappearsintheindexforyourhelpsystemorWebsite.

Designingahelpsystem

Page 7: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

MakingyourhelpsystemaccessibleYourhelpsystemshouldcontaininformationonhowuserswithdisabilitiescanuseyoursoftwareandyouronlinehelp.Theaccessibilitywordlistwillhelpyouidentifysomeofthemostcommontermsusedtorefertodisabilities.Itcanalsoserveasachecklistforidentifyingandcreatingtopicsaboutthefeaturesinyoursoftwareprogramthatcanhelpuserswithdisabilities.

Informationondevelopingaccessiblesoftware,Websitedesigns,andrecommendationsonmakingHTMLcontentmoreaccessible,isalsoavailableontheMicrosoftAccessibilityandDisabilitiesWebsite.

TheHTMLHelpViewercontainsshortcutkeysandotherfeaturesthatmaketheHelpVieweraccessibleforusers.ThesefeaturesaredocumentedintheHelpViewertopics.Youcanincludethesetopicsinyourownhelpsystemsothatyouruserswillalsobeawareofthem.

Designingahelpsystem

Page 8: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

DesigninghelptopicsWhetheryouarecreatingahelpsystemoraWebsite,thebasicbuildingblockforallyourhelpcontentistheHypertextMarkupLanguage(.htm,.html)file.YouuseHTMLfilestocreateyourhelptopicsandWebpages.TheprocessyouusetocreateanewHTMLfileisthesamenomatterwhatitspurpose.Thedesignyouchooseforeachtypeoftopic,however,willvarydependingonitspurpose.

Nomatterwhattypeoftopicyouarecreating,therearemanywaystocreatelivelyandinterestingfiles.Youcanaddimages,text,animation,andsoundtoyourtopics.Youcanaddforms,tables,frames,e-mail,orcustomscripts.YoucanaddtheHTMLHelpActiveXcontroltoyourdocumentstoprovideatableofcontents,anindex,orrelatedtopics.Or,youcanaddasplashscreen,apop-upwindow,ashortcutbutton,orothercommand.

YoumaywanttoincludeoneormorehomepagesinyourhelpsystemorWebsite.BecauseahomepageprovidesthefirstinteractionauserhaswithyourhelpsystemorWebsite,designingitisoneofthemostimportantthingsyouwilldo.

Youwantyourhomepagetocommunicatewhatyourinformationisaboutandwhyitexists.Itshouldalsobeajumping-offpointtotherestofyoursystem.Ausershouldbeabletonavigatequicklyfromyourhomepagetoanypageinyoursystem,eitherdirectlyorthroughothertopics.

YouwillalsowanttomakeyourhelpsystemorWebpagesaccessibletouserswithdisabilities.TheAccessibilityWordListwillhelpgetyoustarted.Additionalinformationondevelopingaccessiblesoftware,websitedesigns,andrecommendationsonmakingHTMLcontentmoreaccessibleisalsoavailablefromtheMicrosoftAccessibilityandDisabilitiesWebsite.

Ifyouaredesigningtopicstobeshippedwithaprogram,youmayhavegreaterconcernsaboutfilesize.Youcanlimitartandmultimediacontentinyourhelpsystemtoreducethefilesize.

IfyouareplanningtodistributeyourhelptopicsovertheWeb,filesizemaynotbeadesignconsideration.However,ifyouincludealotofmultimediainyourtopics,considertheamountoftimeitwilltakefora

Page 9: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

usertodownloadyourfiles.

Startahelpsystemdesign

Page 10: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

PlanninganindexAddinganindextoahelpsystemisoneofthemostimportantwaystogetusersquicklytotheinformationtheyneed.Usabilitystudieshaveshownthatuserswillmorefrequentlyuseawell-plannedindextolocatetopicsthantheywillatableofcontentsorfull-textsearch.Usersclickakeywordlistedintheindexanditeithertakesthemdirectlytothetopiccontainingtheinformationtheyarelookingfor,ortoalistoftopicsthatcontainthekeyword.

Theindexcontainskeywordsthatyouspecify.Itcancontaintermsforbeginnersandadvancedusers,synonymsforterms,termsthatdescribetopicsgenerally,andtermsthatdescribetopicsspecifically.Theindexprovidesuserswithmanydifferentwaystogettotopics.Themorewaysyouprovide,themorelikelyitisthatuserswillfindthetopictheyneed.

Traditionallyanindexisdesignedsothatitcontainsfirstandsecondlevelentries.First-levelentriesdescribeageneralcategory.Second-levelentriesareindentedunderthefirst-levelentriesanddescribespecifictopicswithinthatcategory.WithHTMLHelp,youcanuseanunlimitednumberofindexlevels.

Itemsfromtheaccessibilitywordlistcanbeaddedasindexkeywordssothatdisableduserscaneasilyfindtheinformationtheyneedaboutyoursoftwareproduct.

Tipsforcreatingindexes

Plansomeguidelinesforcreatingkeywordsbeforeyoubeginindexing.

Ifyourindexisbeingshippedwithasoftwareprogram,gothroughtheuserinterfacecarefullyandaddindexentriesforeveryelement.Forexample,includewordsorphrasesthatappearintooltips,menuitems,dialogboxes,andcontext-sensitivehelptopics.

Indexentriesshouldbeshortandconcise,andshouldneverwraptoasecondline.

Afteryoucompileyourhelpfile,checkyourindexkeywordstomakesuretheylookthewayyouwantthemto.Somekeywordsmaybesosimilarthattheycouldbeconsolidated.

Startahelpsystemdesign

Page 11: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

PlanningatableofcontentsAddingatableofcontentstoyourhelpsystemprovidesuserswithahierarchicalviewofthecontent.Usersclickatopiclistedinthetableofcontents,andaretakendirectlytotheinformationtheyarelookingfor.

Youcandesignyourtableofcontentssothatthetopicscontainedinyourhelpsystemareorganizedbysubjectorbycategory.Youcanorganizeyoursubjecttopicsinthetableofcontentsusingiconsthatidentifymaintopicsandsubtopics.Forexample,ifyouusethedefaulticons,HTMLHelpWorkshopprovidesa"folder"iconformaintopicsanda"page"iconforsubtopics.Youcanchangethedefaulticonsorcreateyourowncontentsicons.IfyouaredesigningatableofcontentsforaWebsite,specialiconsindicatingneworupdatedtopicsareavailabletohelpusersquicklyscanthetableofcontentsfornewinformation.

Youcanindenttopictitlessotheyareeasierforausertoseewhentheyarescanningthelistoftopics.IfyouaredesigningatableofcontentsthatwillusetheHelpViewer,youcancustomizethewaytheNavigationpaneoftheHelpViewerlooks.

Ifyouaredesigningyourownframeset,youcanaddHTMLdesignelementstocustomizetheframetowhichyouaddtheHTMLHelpActiveXcontrol.

Itemsfromtheaccessibilitywordlistcanbeaddedastableofcontentsentriessothatdisableduserscaneasilyfindtheinformationtheyneedaboutyoursoftwareproduct.

Startahelpsystemdesign

Page 12: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

MakingtopicorWebpageconnectionsAsahelpauthor,oneofyourmostimportantdesignconsiderationsissettingupaclearandsimplepatterntoquicklygetuserstothehelpcontenttheyneed.

AnHTMLhelptopicorWebpageispartofacollectionofsimilarhelptopicsorWebpagesthatmakeupahelpsystemorWebsite.WhenauserbrowsesthetopicsinyourhelpfileorWebsite,theyjumpfrompagetopagebyclickinghyperlinks.Alinkisaword,phrase,orimagethatishighlightedandjumpstoaspecifiedlocationwhentheuserclicksit.

IfyouaddtheHTMLHelpActiveXcontroltoyourhelptopicsorWebpages,youcanconnectuserstoinformationbycreatingatableofcontentsorindexforyourtopics.YoucanaddbuttonstothebuttonbarintheHelpViewerortothewindowsyoudesigninordertohelpusersnavigatetoinformation.

Helptopicsalsocanbedesignedascontext-sensitivetopicsthatappearinapop-upwindowwhenauserright-clicksadialogbox.

Startahelpsystemdesign

Page 13: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

DesigningatopictemplateYoucancreateHTMLtopictemplatestogreatlyreducetheamountoftimeittakestocreateeachtopicfile.AtopictemplateisanHTMLfilethatcontainsallthefont,style,heading,anddesignelementsyouusemostfrequently.TopictemplatescanbeusedasthebasisforallthecontentinyourhelpsystemorWebsite.

Designyourtemplatestocontainallthebasicelementsahelpauthorwillneedtocreateaspecifictopictype.Forexample,inaninformationsystemcontainingmanyoverviewtopics,youcancreateanOverviewtemplatethatcontainsallthebasicstyleanddesignelements,inadditiontoboilerplatetext.

Startahelpsystemdesign

Page 14: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

DesigningastylesheetThestylesheetlanguagemostcommonlyusedontheWorldWideWebisknownascascadingstylesheets(CSS).Whendesigningastylesheet,youusetheCSSspecificationssetupbytheWorldWideWebConsortium(WC3),theorganizationthatdevelopscommonprotocolsfortheWorldWideWeb.TheCSSspecificationandotherinformationabouthowcascadingstylesheetsworkisavailablefromtheW3CWebsite,alongwithinformationaboutotherstylesheetprotocols.

Byusingacascadingstylesheet,youcanensuredesignconsistencyacrossallyourhelpfilesorWebpages.Forexample,youcanincludestandardcolorsandimagesinyourstylesheetthatwillbeappliedtoallofthefilesinyourhelpsystem.

Startahelpsystemdesign

Page 15: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

DesignhelpThesetopicscontaininformationofspecialinterestwhenplanningahelpsystemthatwillshipwithaprogram.

Youcancreateuniquehelpsystemwindowdesigns.

Youcandesigncontext-sensitivehelpforyoursystem.

Youcancreatetrainingcardsforyourhelpsystem.

Youcanaddshortcutstoyourhelptopics.

Designingahelpsystem

Page 16: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

UsingtheHelpViewerfortopicsHTMLHelpcomeswithafullyfunctionalHelpViewerinwhichauthorscreatinghelpfilesfordistributionwithaprogramcandisplaytheirfiles.

YoucanuseHTMLHelpWorkshoptoaddbuttonsandotherdesignelementstotheHelpViewer,customizingittosuityourneeds.Unlessyoudesignyourownsetofwindowsorframestodisplayyourhelpcontent,theHelpVieweristhedefaultforallhelpprojects.AnytopicsyousetupinyourhelpprojectfilewillopenintheHelpViewer.

TheHelpViewercontainsthreepanes:

UsersviewhelptopicsintheTopicpane.

TotheleftoftheTopicpaneistheNavigationpane,whichcanbesetuptodisplayatableofcontents,anindex,alistoffavoritehelptopics,orafull-textsearchtab.

Athirdpanecontainsthetoolbar,whichallowsuserstodisplayorhidetheNavigationpane,ormoveforwardtothenexttopicorbacktotheprevioustopic.Stop,Refresh,Locate,andHomebuttonsarealsoavailable.

HelpauthorsalsocancustomizetheHelpViewerbychangingitsdefaultcharacteristics.

Notes

YoucansimultaneouslydisplaymultiplefilesintheTopicpanebyclickingCascade,TileHorizontally,orTileVerticallyontheWindowmenu.

YoucanalsodownloadHelpViewertopics,whichcontainbasicinformationabouthowtousetheviewer,fromtheWebandincludetheminyourhelpsystem.

Designhelp

Page 17: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

DesigninghelpwindowsThemostimportantpartofahelpfileistheinformationinit—thewordsandpicturesthatthehelpfilecontains.Butpackagingisalsoimportant.Thewayyoupresentwordsandpicturescanplayasignificantroleinmakingyourhelpfilemoreusable.Whendesigningyourhelpfilefordistributionwithaprogram,youmaywanttocreateorcustomizethewindowsyouusetodisplayyourtopics.

Whendesigninghelpwindows,keeptheseoptionsinmind:

Youcanchangethetypeofwindowinwhichatopicappears.Forexample,yourhomepageoranimagemapmightappearinasecondarywindowwhileyourinformationtopicsappearintheHelpViewer.

Youcancreatedifferentwindowsfordifferenttopictypes.Forexample,helpforadialogboxmightappearinanembeddedwindowwhileyourinformationtopicsappearintheHelpViewer.

Youcanchangetheappearanceofawindow.Forexample,youcanchangeawindow'ssizeandposition,backgroundcolors,titlebar,buttons,andotheroptions.

Youcancreateyourownframesettodisplaytopics.

Youcanshipmultiplehelpfiles,eachwithitsownsetofwindowdefinitions.

Designhelp

Page 18: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

Designingcontext-sensitivehelpYoucancreatecontext-sensitivehelpformanyofyourprogram'sinterfaceelements.Indialogboxes,userscandisplayhelpbyclickingthequestionmarkinthetitlebarofadialogbox,andthenclickinganitemwithinthedialogbox.InWindows,usersalsocandisplayhelpbyright-clickinganitem,clickingWhat'sThis?,andthenclickinganinterfaceelement.

Designhelp

Page 19: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

DesigningtrainingcardhelpWithtrainingcardhelp,youcancreateHTMLhelptrainingcardfilesthatcommunicatedirectlywithaprogram.Thehelpfilecansendinstructionstotheprogram,oritcanreceiveinstructionsfromtheprogram.Becausemostoftheworkhappensintheprogramcode,helpauthorsandsoftwaredevelopersmustworktogethertocreatetrainingcardhelp.

Youcanusetrainingcardhelptodesigntopicsthatautomaticallyguideusersthroughtasksinaprogram.Forexample,thehelptopiccandisplaythefirststepinaprocedure.Whentheusercarriesoutthestepcorrectly,thetopicautomaticallydisplaysthesecondstep.Iftheusermakesamistake,theprogramorahelptopiccandisplayamessagedescribingtheerror.

Ahelpauthoralsocanusetrainingcardhelptocreatetroubleshootingtopicsthatinitiateproblem-solvingactionsinaprogram,orthatentersettingsinaprogrambasedonquestionstheuseranswers.Trainingcardhelpcanbeacomplexpathofinterconnectedtopics,orasingletopicthatcontainsonlyonecalltothesoftwareprogram.

Designhelp

Page 20: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

DesignforaWebsiteWhenplanningaWebsitethatusescomponentsofHTMLHelp,considerthefollowing:

Createthetopic,contents,indexandotherfilesforyourWebsite.

DecideifyouwanttoregisteryourWebsitewithanysearchengines.

PlanforupdatingandmanagingyourWebsite.

Designingahelpsystem

Page 21: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

DistributingtopicsovertheInternetAsyouplanyourhelpWebsiteandauthoryourhelptopics,you'llwanttoconsiderwhetheryouaredevelopingtopicsfortheInternetorWorldWideWeb,foranintranetorprivateWebsite,orforanextranetorcommercialWebsitewithconnectionstoconsumerdatabases.

DesignforaWebsite

Page 22: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

RegisteringaWebsitewithsearchenginesManypeoplebrowsetheInternetforinformationbyusingsearchenginestolocateWebsites.IfyouaredesigningahelpsystemfordistributionontheInternet,youcanregisteritwiththemorepopularsearchengines.TheseincludeYahoo,Lycos,Excite,Webcrawler,AltaVista,andInfoseek,manyofwhichcanbereachedifyouopenMicrosoftInternetExplorer,andthenclickSearch.

Theremayalsobeothersearchenginescommonlyusedbythoseinyourcompany,organization,orprofessionthatyoucanregisterwith.Byregisteringwithoneormoresearchengines,youcanmakeyoursiteeasiertofindandincreasetraffictoit.

EachsearchenginehasitsownrequirementsforaddingaWebsite.ThehomepageforeachsearchengineusuallyhasalinktoaregistrationpagecontaininginformationabouthowtoaddyourWebsite.

DesignforaWebsite

Page 23: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

UpdatingandmanagingaWebsiteAfteryoucreateahelpWebsite,animportanttaskisupdatingandmanagingtheinformation—makingsurethatyourhelpWebpagesarekeptup-to-dateandcorrect.Nothingismoreannoyingtoauserthanfindingapagethatcontainsoutdatedinformation.TomakesurethisdoesnothappentoyourhelpWebsite,scheduletimetomakechangestoyourWebpagesandtovalidateallcontentandlinks.

Agoodsitemanagementandupdatingplanshouldincludethefollowingtasks:

Addingnewhelpcontentandinformation.

Updatingexistinghelpcontentandinformation.

Verifyingfilelocations(forexample,contentsandindexfiles).

Verifyinginternallinkstoyourpages.

Verifyinglinkstootherpages.

DesignforaWebsite

Page 24: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

CreatinghelpCreateahelpproject

TheHTMLHelpproject(.hhp)fileorganizesallelementsofahelpsystem.ItcontainspointerstoalloftheHTMLtopic,image,index,andcontentsfilesinahelpproject.Youcanalsoaddlinkstoyourfilesandassigninformationtypes.GO

Customizehelp

Compileandtesthelp

Hookuphelptoaprogram

Managelargedocumentsets

IntroducingHTMLHelp

Page 25: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

CreateahelpprojectAnHTMLhelpproject(.hhp)fileisatextfilethatbringstogetheralltheelementsofahelpproject.ItcontainsthedataHTMLHelpWorkshopneedstocombinetopic(.html,.htm),image(.jpeg,.gif,.png),index(.hhk),andcontents(.hhc)filesintoasinglecompiledhelp(.chm)file.

Theprojectfilealsocontainsinformationabouthowacompiledhelpfilewillappear.Windowdefinitionsyoucreateintheprojectfiledetermineattributesofyourhelpwindows,suchassizeandposition.

Asahelpauthor,youcreatetheprojectfileandaddtoitthelocationsofyourtopic,contents,index,andotherfiles.Youcanmodifytheprojectfileoptionsandcustomizeyourhelpwindowstomatchthedesignofyoursystem.Youcanmakeotherchangesdependingonthesizeandcomplexityofyourhelpsystem.

Whenyoucreateanewproject,contents,orindexfile,theminimumnecessarysettingsareaddedautomatically.Theprojectfileisdividedintosections;forexample,[FILES]and[OPTIONS]areincludedineveryhelpprojectfile.Youcaneditthesesectionsbydouble-clickingthesectiontitle.

Onceyourprojectfileiscomplete,youcompileittocreatethefinalhelpfile.Thenyoutestthehelpfiletomakesureeverythingappearsthewayyouwantit.

Aboutcreatinghelp

Page 26: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

CreatingaprojectfileAhelpproject(.hhp)filecontainsinformationaboutthelocationofyourHTMLtopicfiles,contents(.hhc)files,index(.hhk)files,image(.png,.jpeg,.gif)files,andotherfiles.Projectfilesalsocontainhelpwindowdefinitionsandotheroptionsthatcustomizethewayahelpsystemfunctions.

Whatdoyouwanttodo?

Createanewhelpprojectfile

Addfilelocationstoaprojectfile

Customizehelpwindowdefinitions

Compileahelpproject

Testahelpfile

Edithelpprojectoptions

Aboutcreatinghelpprojectfiles

Page 27: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

Addingindex,contents,andimagelocationsThemostimportantinformationthatyouprovideinaprojectfileisthelocationofyourHTMLtopic,contents(.hhc),andindex(.hhk)files.ThisenablesHTMLHelpWorkshoptofindalltheinformationitneedstocompileahelpfile.

Whatdoyouwanttodo?

AddorremoveHTMLtopicfilesfromaprojectfile

Specifythelocationofindexfiles

Specifythelocationofcontentsfiles

Specifythelocationofimageandmultimediafiles

Aboutcreatinghelpprojectfiles

Page 28: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

EditingprojectoptionsYoucreateatitleforyourhelpfile,setwhichtopicwillappearbydefault,andselectwhichitemstodisplaywhencompilingyourfilesinthe[OPTIONS]sectionoftheprojectfile.

Youalsousethe[OPTIONS]sectiontonamethecompiledfile,logfile,andURLrootlocation.Andfinally,thissectionindicateswhichlanguageyourfilewillbein,andwhichcontentsandindexfileswillbeaddedtoyourhelpproject.

Whatdoyouwanttodo?

Specifyalocationforacompiledhelpfile

Specifyalocationforthehelplogfile

Specifyatitleforacompiledhelpfile

SpecifythedefaultHTMLtopicfileforacompiledhelpfile

Specifythelanguageforthehelpfile

Hidecompilermessages

Specifythatfoldersberemovedfromcompiledhelpfile

Abouthelpprojectsfiles

Page 29: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

SettingHelpWorkshoppreferencesforprojectsYoucanchangehowHTMLHelpWorkshopoperatestosuityourworkstyle.Youcanmodifyhowhelpprojectsload,andenablesoundforprojectssoyoucanlistenwhileworkingonprojects.Youcanalsochoosehowcontentsandindexentrieswillrespondwhenyousingle-clickordouble-clicktheminHTMLHelpWorkshop.

Whatdoyouwanttodo?

Automaticallyloadthelastprojectfileworkedon

EnablesoundinHTMLHelpWorkshop

Changethefontwhenviewingthecompilermessagelog

Setactionstotakewhensingle-ordouble-clickingacontentsentry

Setactionstotakewhensingle-ordouble-clickinganindexentry

Aboutcreatinghelpprojectfiles

Page 30: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

CreateHTMLtopicfilesWhetheryouarecreatinghelptopicsfordistributionwithaprogram,orontheWeb,thedocumentsyouauthorarecreatedusingaspecialformattinglanguageknownasHypertextMarkupLanguage(HTML).HTMLtopicfileshavea.htmor.htmlfilenameextension.

AlthougheachhelptopicorWebpageyouauthorappearstobeadocumentwithtext,graphics,oranimatedimagesonit,.htmfilesareactuallytextdocumentsthathavespecialHTMLformattingcodes.Thesecodes,calledtags,tellabrowserhowtodisplayeachpage.OnlythetextthatappearsinatopicorWebpageisactuallyinthe.htmfile.Anygraphics,sounds,animatedimages,orotherelementsthatappearareseparatefilesthatyourHTMLfilepointsto.Thebrowsercopiesordownloadsthegraphics,sounds,orotherelementswhenitseesthetagstellingittodoso.

YourfirsttaskasahelporWebsiteauthoristocreateadesignforyourtopics,andthenyoucancreateHTMLfiles.IfyouareconvertingfilesfromapreviousversionofHelp,suchasWinHelp,youcancreateanHTMLHelptopicfromaWinHelptopic.

Afteryouhavecreatedthefilesthatcontainyourcontent,youcan:

Createlinksorjumpswithinafile,fromoneHTMLfiletoanother,ortoaWebsiteorotherlocation.

Createahelpprojectfiletomanageyourcollectionoftopicsandrelatedfiles.

Createatableofcontentsfile.

Createanindexfile.

Assigninformationtypestoyourtopicstodeterminewhichgroupofuserswillseeeachtopic.

Compileyourhelpprojectintoasinglehelpfile.

Aboutcreatinghelp

Page 31: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

ConvertingexistinghelpprojectsYoucanuseHTMLHelpWorkshoptoconvertexistingWinHelpprojects.WhenyouconvertaWinHelpprojecttoanHTMLHelpproject,theNewProjectWizardconvertstheWinHelpproject(.hpj)filetoanHTMLHelpproject(.hhp)file,theWinHelptopic(.rtf)filestoHTMLHelptopic(.htm,.html)files,theWinHelpcontents(.cnt)filestoHTMLHelpcontents(.hhc)files,andtheWinHelpindextoanHTMLHelpindex(.hhk)files.

WinHelpartfiles(.bmpor.wmffiles)willbeconvertedtoHTMLimagefiles(.gifor.jpegfiles)ifyourtargetbrowserprogram,suchasInternetExplorer3.0,requiresthisformat,orto.pngimagefilesifyourtargetbrowserprogram,suchasInternetExplorer4.0,supportsthem.

Whatdoyouwanttodo?

ConvertanexistinghelpprojecttoanHTMLHelpproject

CompileortestanHTMLHelpproject

Aboutconvertingexistinghelpprojects

Page 32: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

InsertingtheHTMLHelpJavaAppletInsertingtheHTMLHelpJavaAppletintoahelptopicorWebpageinvolvesaddingtheAPPLETtag,andspecifyingthecommandsyouwouldliketheapplettoperform.

ToinserttheHTMLHelpJavaAppletintoanHTMLfile

1. OpenanHTMLfile,andthenpositionthecursoratthelocationwhereyouwouldliketheHTMLHelpJavaApplettoappear.

2. Usethefollowingsyntaxtoaddtheapplet:

<APPLETcode="HHCtrl.class"width=200height=200codebase="codebase"><PARAMname="Command"value="commandtype"><PARAMname="Item1"value="textdata"></APPLET>

Notes

TheCODEBASEattributemustpointtothelocationoftheapplet'sclassfiles.

Thefollowingcommandscanbespecified.

Command Description

Contents

SpecifiesthatatableofcontentswillappearbasedontheinformationsuppliedinthesitemapfilespecifiedintheItem1parameter(normallyan.hhcfile).Thespecifiedfilemustresideinthesamedirectoryasthedocumentcontainingtheapplet.

IftheFlagsparameterisspecified,thefirstnumberisanextendedwindowstyle,andthesecondisaTreeVieworstandardwindowstyle.

IndexSpecifiesthatanindexwillappearbasedontheinformationsuppliedinthesitemapfilespecifiedintheItem1parameter.

RelatedTopics

SpecifiesthatrelatedtopicswillappearbasedontheinformationsuppliedinthesitemapfilespecifiedintheItem1parameter.

AbouttheHTMLHelpJavaApplet

Page 33: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

UsetopictemplatesAnHTMLtopictemplateisafilethatcontainsallthefont,style,heading,anddesignelementsyouusemostfrequently.YoucancreateHTMLtopictemplatestoformatallthecontentinyourhelpsystemorWebsite.Youcanviewsomeexampletopictemplatestogetanideaofhowtheymightbeconstructed.

AboutcreatingHTMLtopicfiles

Page 34: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

CreatingatopictemplateHavingatopictemplatecaneasetheprocessofcreatingnewtopicsbyprovidingaframeworktobuildon.Usingtopictemplatescanalsohelptoensureconsistencythroughoutyourhelpproject.

Tocreateatopictemplate

1. CreateanHTMLfileandaddthesampletext,fields,tables,forms,andotherdesignelementsthatallthefilesofthistypeshouldcontain.

2. Addboilerplatetexttomakeiteasytoidentifyeachelement.

Notes

Togetabetterideaofhowatopictemplatemightlook,youcanviewthetopictemplates.

YoucanreducethetimeittakestocreateindividualhelpfilesorWebpagesbydistributingatemplatetoalltheauthorsworkingonahelpsystemorWebsite.

Aboutusingtopictemplates

Page 35: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

Example:TopictemplatesThefollowingaresomeofthetemplatesyoucanusetocreateyourhelpfiles:

Decisiontopictemplate

Multi-stepproceduretopictemplate

One-stepproceduretopictemplate

Source-codeexampletopictemplate

Aboutusingtopictemplates

Page 36: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

UsecascadingstylesheetsAcascadingstylesheetisaseparateHTMLfilethatkeepstrackofdesignandformatinformationsuchasthecolors,fonts,fontsizes,andmarginsyouuseinyourhelpfilesorWebpages.BylinkingyourHTMLfilestoacascadingstylesheet,youcaneasilycreateaconsistentdesignforallofyourfiles.

Forexample,supposethatyouselectabackgroundcolor,colorsforyourlinksandtext,andfontsforeachheadinglevelinyourfiles.Insteadofspecifyingthatinformationineachfile,youcancreateastylesheet.Whenyouwanttochangethosesettingsinallyourfiles,youchangeonlythestylesheet.

Youcanalsocreateaseparatestylesheetfordifferentdisplaydevices.Forexample,youcanuseastylesheettoaddresstheformattingconcernsofBraillereaders,text-to-speechconverters,printers,orspecializedbrowsersthatunderstandthestyle-sheetinstructions.

CreateHTMLtopicfiles

Page 37: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

CreatingacascadingstylesheetCascadingstylesheetsmakeiteasytoapplyandmaintainstylesonmultipletopicfilesorWebpages.Onceastylesheethasbeenappliedtoasetofpages,changingastyleonthestylesheetupdatesthatstyleoneachpagethestylesheetislinkedto.

Tocreateacascadingstylesheet

1. OpenanHTMLfile,andthenusethe<STYLE>tagtospecifythefont,color,margin,headingstyles,andotherstyleelementsyouwantyourstylesheettouse.

2. Ifyouwanttocreateanexternalstylesheetandlinkotherfilestoit,savethestylesheetasaseparate.cssfile.Ifyouwanttoincludethestylesheetinthefileyouareworkingin,savetheHTMLfile.

Notes

CascadingstylesheetspecificationsaredeterminedbytheWorldWideWebConsortium(WC3),theorganizationthatdevelopscommonprotocolsfortheWorldWideWeb.TheCSSspecificationandotherinformationabouthowcascadingstylesheetsworkisavailablefromtheirWebsite,alongwithinformationaboutotherstylesheetprotocols.

CascadingstylesheetsdisplaydifferentlyinMicrosoftInternetExplorerversions3.0and4.0.Youshouldcreateaseparatestylesheetforeachbrowserversion.

Aboutusingcascadingstylesheets

Page 38: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

Example:CascadingstylesheetIfyourusershaveMicrosoftInternetExplorerversion3.02astheirbrowser,youwillneedtoshiptwoseparatecascadingstylesheets.YouneedtocreateonestylesheetworkswithMicrosoftInternetExplorerversion3.02andanotherthatworkswithInternetExplorerversion4.0.

Bothcanbeusedasexternalstylesheetsandattachedtoeachfileusingthe<LINK>tag:

SampleofanInternetExplorer3.02cascadingstylesheet.

SampleofanInternetExplorer4.0cascadingstylesheet.

Aboutusingcascadingstylesheets

Page 39: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

CreatinglinkstootherhelpfilesHowyoulinktoanothercompiledhelp(.chm)filedependsonhowyouwantthehelpfileoratopictoappear.

Forexample,youcanlinkfromaWebpagetoacompiledhelpfile,orfromacontentsorindexentryintheHelpViewertoatopicinanotherhelpfile.Thetypeoflinkyouusedependsonthelocationyouarelinkingfromandwhereyouwanttolinkto.

Youcanlinktoacompiledhelp(.chm)fileusingastandardHTMLlink:

OpenacompiledhelpfilefromaWebpageortopicfile.

Openacompiledhelpfilefromacontentsorindexentry.

However,usingthismethodyoucannotopenaspecifictopicinacompiledhelpfile.Thefilewillopenwiththedefaulttopicdisplayed.

Alternatively,youcancreatealinktoaspecifictopicinacompiledhelpfileanddisplayitinyourcurrentbrowserwindowortheHelpViewer.Usingthismethod,youcan:

LinktoatopicinacompiledhelpfilefromaWebpageortopicfile.

Linkfromacontentsorindexentrytoatopicinanothercompiledhelpfile.

LinkfromatopicinaWinHelpfiletoatopicinanHTMLHelpfile.

Aboutworkingwithlinks

Page 40: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

WorkingwithKLinksYoucanuseKeywordlinks(KLinks)tolinkbetweenHTMLfilesandtobuildanindex.

Whatdoyouwanttodo?

LearnmoreaboutworkingwithKLinks

AddaKLinkkeywordtoanHTMLfile

LearnaboutworkingwithALinks

LearnaboutthedifferencebetweenALinksandKLinks

Aboutworkingwithlinks

Page 41: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

WorkingwithALinksAssociativeLinks(ALinks)canbeusedbyahelpauthortolinkrelatedtopicstoeachother.WhenauserclicksalinkthatisassociatedwithanALinkname,adialogboxorpop-upmenuappearsthatcontainsalistofthetargettopicsthatcontaintheALinkname.UnlikeKeywordLinks(KLinks),ALinknamesdonotappearintheindex.

Whatdoyouwanttodo?

LearnmoreaboutworkingwithALinks

CreateanALinkinatopicthatlinkstoatargetfile

AddanALinknametoatargetHTMLfile

SeeanexampletextlinkthatusesanALink

LearnaboutthedifferencebetweenALinksandKLinks

WorkwithKLinks

Aboutworkingwithlinks

Page 42: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

Example:CreateanALinkusingatextlink1. ClickheretoseeasampleALinktextlink.

2. OpentheHTMLfileinwhichyouwanttocreateanAssociativelink(ALink)asatextlink.

3. ClickHTMLHelpActiveXControl.4. IntheSpecifythecommandbox,clickALinkSearchand,ifyouhave

alreadyusedtheHTMLHelpActiveXcontrolinthisfile,enteranIDnameforthisinstanceofthecontrol.

5. ClickNext,andthenclickHiddentospecifythatyouwillbescriptingthisuseoftheHTMLHelpActiveXcontrol.

6. Selecttheappropriatedisplaytypeoptions,andthenaddtheALinknamesyouwanttojumpto.

7. Positionthecursoratthelocationwhereyouwanttocreatethelink,andthencopythefollowingtagintoyourfile:

<A;HREF="JavaScript:hhctrl2Click()">add;linktexthere</A>

Inthisexample,hhctrl2specifies2astheIDnumberforthisinstanceoftheHTMLHelpActiveXcontrol,whichtheALinkSearchcommandshouldlookfor.

8. Replaceaddlinktextherewiththewordsyouwanttouse.

Notes

Forthisexample,theALinknameexamplewasaddedtothebeginningoftheHTMLfile.Whenyouclickthetextlink,itjumpstoalltargetfilesthatcontainexampleasanALinkname.YoucantestALinksincompiledhelpfiles.

FormoreinformationaboutALinks,seetheHTMLHelpActiveXcontrolreference.

Aboutworkingwithlinks

Page 43: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

CreateatableofcontentsfileThehelptableofcontents(.hhc)fileisanHTMLfilethatcontainsthetopictitlesforyourtableofcontents.Whenauseropensthetableofcontentsinacompiledhelpfile(oronaWebpage)andclicksatopictitle,theHTMLfileassociatedwiththattitlewillopen.

UsingHTMLHelpWorkshop,youcan:

Createatableofcontents.

CreateatableofcontentsforaWebpage.

CreatecontentsentriesthathavelinkstotopicsstoredonaWebsite.

Customizetheappearanceofyourcontentsfile.

Assigninformationtypestocontentsentriestoselecttheaudiencetopicswillbedeliveredto.

Createcontentsfilesforlargedocumentsets

Aboutcreatinghelp

Page 44: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

CreatingacontentsfileYoumakeatableofcontentsbycreatingacontents(.hhc)file.

Notes

filetoyourhelpprojectcreatestheContentstabintheNavigationpaneoftheHelpVieweroncetheprojectiscompiled.

IfyoudesignforaWebsiteoryourownframeset,makesureyouaddtheHTMLHelpActiveXcontroltotheappropriatefilesandspecifyadefaultframetodisplayyourcontentsfile.

Whatdoyouwanttodo?

Createanewcontentsfile

Automaticallygenerateatableofcontents

Editorupdateatableofcontents

Changeorcreateiconsforcontentsentries

Aboutcreatingtableofcontentsfiles

Page 45: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

CreatinglinkstotheWebHelptopicscanbeplacedontheInternet,anintranet,oranetworklocation.Thentheycanbelinkedtofromacontentsentry,indexentry,ortextlink.Thisallowshelpauthorstocreatenewtopicsorreviseexistingtopics,andthenpostthemtoalocationotherthantheoriginalhelpfile.

Thisisausefulfeatureif,forexample,youhavelast-minutechangestoproceduresthatcan'tbeincludedintheoriginalhelpfile.Ratherthanprovideincorrectinformation,youcanprovideatableofcontentsentrytoaWebsite.Theusercanthenclicktheentryand,ifyouhavesuppliedthecorrectaddress,thetopicwillappear.

Note

TopicslocatedonaWebsite,intranet,orotherlocationmaynotbeavailabletouserswhodonothaveInternetornetworkaccess.

Whatdoyouwanttodo?

Assignalocationtoatableofcontentsorindexentry

AddatextlinktoanHTMLfile

Aboutcreatingtableofcontentsfiles

Page 46: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

CustomizingatableofcontentsIfyouarecreatingacontents(.hhc)filethatwillappearintheHelpViewer,youcancustomizehowthewindowlooksandhowcontentsentriesintheNavigationpaneappear.

Whatdoyouwanttodo?

Learnmoreaboutcustomizingatableofcontents

ModifytheNavigationpaneintheHelpViewer

Customizetheappearanceofacontentsfile

Changeorcreateiconsforcontentsentries

Specifythedefaultframeinacontentsorindexfile

Aboutcreatingtableofcontentsfiles

Page 47: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

CreatinglinksfromonecontentsfiletoanotherHTMLHelpprovidesthecapabilitytolinkfromonecontentsfiletoanother.Thisisextremelyusefulforcreatingandmaintainingmodulardocumentation.Ratherthanmaintainingseveralversionsofatableofcontents,youcanselectivelycombinethembylinking.

Tocreateacontentsfilethatincludeslinkstoothercontentsfiles

1. ClicktheContentstab,andthenclickInsertaHeading.2. Typeanamefortheheadingthatwillincludeyourcontentsentries

fromanotherhelpfile,andthenclickOK.3. Right-clicktheheading,andthenclickInsertFile.4. IntheFiletoincludebox,typethefollowingsyntax:

filename.chm::/contents.hhc

wherefilename.chmisthenameofthecompiledhelpfileandcontents.hhcisthenameofthecontentsfiletowhichyouwanttolink.

Note

Thecontentsaremergedatruntime,whichiswhenthecompiledhelp(.chm)fileisopened.Becauseofthis,youmustalwaysshipthecompiledhelpfilewhosecontentsyouaremergingwithyourmainhelpfile,andtheymustbestoredinthesamedirectory.

Aboutcreatingtableofcontentsfiles

Page 48: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

CreateanindexfileTheindex(.hhk)fileisanHTMLfilethatcontainstheindexentries(keywords)foryourindex.Whenauseropenstheindexinacompiledhelpfile,oronaWebpage,andclicksakeyword,theHTMLfileassociatedwiththekeywordwillopen.

UsingHTMLHelpWorkshop,youcan:

Createanindex.

CreateanindexforaWebpage.

Createkeywordswithmultipletargets.

CreatekeywordsthathavelinkstootherhelpfilesortoWebpages.

Createakeywordthatjumpstoanotherkeyword(similartoaSeeAlsoinabookindex).

Assigninformationtypestokeywords.

Setakeywordtobeinactive.

AfteryouhavecreatedahelpsystemoraWebsite,youcanviewtheindexfileintheHelpViewerorbyusingaWebbrowser.

Aboutcreatinghelp

Page 49: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

CreatinganindexfileAgoodindexfilehelpsuserstolocatetheinformationtheyneed.HTMLHelpWorkshopprovidesthetoolsneededtocreateandeditanindexfileforyourhelpsystem.

Tocreateanindexfile

1. OntheFilemenu,clickNew,andthenclickIndex.2. Addkeywordstotheindex(.hhk)fileyouhavecreated.Ifyouplanto

useyourindexonlyonaWebsite,youcancreateasitemapindex.

Notes

IfyouaredesigningahelpsystemusingtheHelpViewer,addinganindexfiletoyourhelpprojectwillalsocreatetheIndextabintheNavigationpaneaftertheprojectiscompiled.

IfyouaredesigningforaWebsiteoryourownframeset,makesureyouaddtheHTMLHelpActiveXcontroltotheappropriatefilesandspecifyadefaultframetodisplayyourindexfile.

Ifyoucompileahelpfileandsetthecompatibilitytoversion1.0,asitemapindexwillbecreated.

Aboutcreatingindexfiles

Page 50: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

CreatingakeywordThemethodyouuseforcreatingkeywordsdependsonwhatkindofindexyouareauthoringfor.

Whatdoyouwanttodo?

Createkeywordsforabinaryindex(usedwithcompiledhelpfiles)

Createkeywordsforasitemapindex(worksonaWebsite)

Learnaboutthedifferencebetweenbinaryandsitemapindexes

Aboutcreatingindexfiles

Page 51: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

CreatingakeywordwithmultipletargetsYoucancreateanindexkeywordthatlinkstomorethanonetopic.Whenauserclicksanindexentrythatpointstomultipletargets,theywillseeadialogormenudisplayingeachlinkspecifiedforthatindexentry.

Tocreateakeywordwithmultipletargets

1. Openanindexfile,clickthekeywordyouwanttoaddanothertargetfor,andthenclickEditSelection.

2. ClickAdd.3. IntheProjectfilebox,clickaprojectfile.4. IntheHTMLtitlesbox,clickthetitleyouwanttoassociatewiththe

keywordor,intheFileorURLbox,enterthepathforthefile,andthenclickOK.

5. IntheAlternateURLbox,addanotherlocationforthekeywordifyouwantthekeywordtojumptoanalternatelocationifthefirstlocationyouspecifyisnotavailable.

6. Repeatsteps2through5foreachtarget.

Aboutcreatingindexfiles

Page 52: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

AssigninformationtypesInformationtypesallowyoutocustomizeyourhelptopicstospecifythatdesignatedtopicswillreachaparticularaudience.Toachievethis,youcreatecategoriesandinformationtypes,selectattributesforthem,andassignhelptopicstothem.

InformationtypeshaveanExclusive,InclusiveorHiddenattribute.ByassigningoneormoreinformationtypeswithanInclusiveorExclusiveattribute,youcandeterminewhichtopicsagroupofuserswillseeinthetableofcontents.ByassigningaHiddenattribute,youcaninvoketheHTMLHelpAPItoconnecttopicstoeventsinaprogram.

Aboutcreatinghelp

Page 53: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

CreatinginformationtypesYoucanassigninformationtypestoentriesinthetableofcontentsbasedonwhichusersyouwanttopicstoreach.Besuretoplanaheadbecauseinformationtypesaredifficulttoremoveonceyouaddthemtoahelpproject.

Whatdoyouwanttodo?

Learnmoreaboutcreatinginformationtypes

Defineinformationtypeswhennotusingcategories

Definecategoriesandinformationtypes

Assignaninformationtypetoatableofcontentsentry

Learnaboutinformationtypeattributes

Makeinformationtypeselectionavailabletousers

Removecategoriesandinformationtypesfromaproject

Aboutassigninginformationtypes

Page 54: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

CreatingcategoriesforinformationtypesCategoriesallowyoutogroupinformationtypesintoeasilyreferencedsubjectareas.Youmight,forexample,createacategorynamedExperienceLevel,andthenassignthefollowinginformationtypestothecategory:Novice,Intermediate,andAdvanced.

Categoriesarenotrequired.Ifyouusethem,youmustassignallinformationtypestoacategory.

Whatdoyouwanttodo?

Learnmoreaboutcreatingcategoriesforinformationtypes

Definecategoriesandinformationtypes

Assignaninformationtypetoatableofcontentsentry

Makeinformationtypeselectionavailabletousers

Removecategoriesandinformationtypesfromaproject

Aboutassigninginformationtypes

Page 55: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

Example:usinginformationtypesAssigninginformationtypestotopicsisahelpfulwaytogetrelevantinformationtosubsetsofusers.Herearesomeexamplesofhowyoumightuseinformationtypes:

usersasyouraudience.Youdefineinformationtypesthatidentifyeachtopicinthetableofcontentsaccordingtowhichtypeofuseritisauthoredfor.

Yoursoftwareisbrokenintocomponents.However,notallcomponentsareincludedwhenyoushipyoursoftwareanditsdocumentationtoothercountries.Youcandefineinformationtypestodisplayonlythosetopicsforthecomponentsthatareshipped.

Onecomponentofyoursoftwareprogramisusedprimarilybydevelopers,whileanotherisusedprimarilybytesters.Youcanassigninformationtypestoyourtopicssothattestersneedtoinstallonlythehelptopicsrelevanttothem.

Youarecreatingseparateintroduction,overview,andstep-by-steptopics.Youcanassigninformationtypestotableofcontentsentriesforeachtopictype.

Yourdocumentationisforaproductthatrunsonmultipleoperatingsystems.Youcandefineinformationtypesthatidentifyanddisplaytopicsaccordingtotheoperatingsystemtheuserisrunning.

Aboutassigninginformationtypes

Page 56: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

CustomizehelpTherearemanywaysyoucancustomizethewayyourhelpfilesappeartotheuser.YoucancustomizetheHelpViewer,thethree-panedwindowthathelptopicsautomaticallyappearin,andyoucancreateandcustomizesecondarywindowstodisplaytopicsin.

Aboutcreatinghelp

Page 57: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

CustomizetheHelpViewerIfyouareplanningtodistributeyourhelpfileswithaprogram(insteadofonaWebsite),youcanuseHTMLHelpWorkshoptocustomizetheHelpViewer.TheHelpViewerisawindowwiththreepanesthathelptopicsautomaticallyappearin.

YoucanchangetheHelpViewer'ssize,position,backgroundcolor,andotherattributes.Youcanmakechangestojustoneofthepanes,orallofthem.YoucanalsohavetheNavigationpaneautomaticallyhidewhenauserclicksoutsidetheviewer.

YoucanaddaHelpFavoritestabtotheNavigationpane.Ifyouareshippingalargecollectionofhelpfiles,youmaywanttoaddtheAdvancedFull-TextSearchfeaturestotheSearchtab.

AnotherwaytocustomizeyourHelpVieweristoaddsecondarywindowstoit.Asecondarywindowisacustomwindowthathelptopicscanbeassignedtoappearin.Youhavetocreateasecondarywindowanddefineitsvariousdisplayfeaturesbeforeyoucanspecifywhichtopicstodisplayinit.

Note

YoucanalsodownloadHelpViewertopics,whichcontainbasicinformationabouthowtousetheviewer,fromtheWebandincludetheminyourhelpsystem.

Aboutcustomizinghelp

Page 58: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

AddingaSearchtabASearchtaballowsausertosearchthrougheverywordinacompiledhelp(.chm)file.

Whatdoyouwanttodo?

LearnmoreaboutaddingaSearchtabtotheNavigationpane

AddaSearchtabtotheNavigationpane

Enablefull-textsearch

Addafull-textsearchstoplisttoahelpproject

LearnaboutthedifferencebetweentheIndextabandtheSearchtab

AboutcustomizingtheHelpViewer

Page 59: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

AddingaFavoritestabAddingaFavoritestaballowsausertocreateapersonalizedlistoffavoritehelptopics.Thislistissavedsoitwillappeareachtimethehelpfileisopened.ToseeanexampleofHelpFavorites,clicktheFavoritestabinthishelpfile.

ToaddaFavoritestabtotheNavigationpane

1. Openaproject(.hhp)file,andthenclickAdd/ModifyWindowDefinitions.

2. ClicktheNavigationPanetab.3. IntheWindowtypebox,clickthewindowyouwant,andthenselect

theFavoritestabcheckbox.

Note

Afteryouaddanewtab,youmaywanttoadjustthewindowsizeandpositionoftheHelpViewertoaccountforthenewspacethetabusesinthenavigationpane.

AboutcustomizingtheHelpViewer

Page 60: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

CreatehelpwindowsIfyouareplanningtodistributeyourhelpfileswithaprogram(asopposedtoontheWeb),youcanusetheworkshoptocreateacustomizedHelpViewerwithsecondarywindowsorwindowdefinitionsthatchangethesizeofthewindow,itsposition,backgroundcolor,andotherattributes.Thesearethetypesofwindowsthatyoucancreateorcustomize:

TheHelpVieweristhethree-panedwindowinwhichtopicsautomaticallyappear.YouneverhavetocreateaHelpViewer,butyoucancustomizeit.Youcanmakechangestojustoneofthepanes,orallofthem.

Asecondarywindowisacustomwindowinwhichhelptopicscanappear.Youhavetocreateasecondarywindowanddefineitsvariousdisplayfeaturesbeforeyoucanspecifywhichtopicstodisplayinit.

Anembeddedwindowisalsoasecondarywindowthatyoudefineandinwhichtopicscanappear.Ratherthanappearingontopofotherwindows,embeddedwindowsappearwithintheexistingframeset.

Apop-upwindowisasmallwindowthatappearsontopofahelptopic.Thewindowautomaticallysizestofitthetextorimagethatisinit.Thesewindowscanbeusedforpop-updefinitionsorglossaryterms.

Alternatively,youcouldcreateacustomframeset,whichisanothermethodofdisplayinghelptopicsthatismostusefulwhencreatinghelpfortheWeb:

Createacustomframesettodisplayhelptopics.Youhavetodesign,create,andmanagetheframeset.Youcanaddcontents,index,andotherhelpfunctionalitytoyourframesbyaddingtheHTMLHelpActiveXcontrol.

Aboutcustomizinghelp

Page 61: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

CreatingsecondarywindowsAsecondarywindowisacustomwindowthatyoucancreateandusetodisplaytopicsinsteadof,orinadditionto,theHelpVieweroracustomframeset.Youcandefineupto255secondarywindows,anduserscandisplayupto9ofthesewindowsatatime.

Note

YoucancustomizeasecondarywindowtohavethesamefeaturesastheHelpViewerortohavefewerfeatures.

Whatdoyouwanttodo?

Addasecondarywindow

CreateawindowwithoutaNavigationpane

Assignawindowtypetoacontentsorindexentry

Assignawindowtypetoatopicwhenlinking

Specifythetitleforahelpwindow

Changethesizeandpositionofawindow

Addbuttonstohelpwindows

Specifyfilelocationsforwindowtypes

Makechangestotheoverallstyleofhelpwindows

Aboutcreatinghelpwindows

Page 62: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

Creatingapop-upwindowApop-upwindowisawindowthatappearsontopofahelptopic.Thepop-upwindowsizesautomaticallytofittheamountoftextorthesizeoftheimageinit.Pop-upwindowsremainonthescreenuntilusersclickanywhereinsideoroutsideofthem.Youcanusepop-upwindows,forexample,tocreatepop-upglossarydefinitions.

Youcanalsocreatecontext-sensitivepop-uphelp,whichisaccessedfromaprogram.

Whatdoyouwanttodo?

Createapop-upwindow

Testchangesinthebackgroundorforegroundcolorofapop-upwindow

Aboutcreatinghelpwindows

Page 63: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

CreatingembeddedhelpwindowsAnembeddedwindowisacustomwindowthatyoucancreateandusetodisplaytopicsinsteadof,orinadditionto,theHelpViewer,asecondarywindow,oracustomframeset.

Dependingonyourdesign,usinganembeddedwindowtodisplaytopicsrequiresmoreinteractionbetweenhelpauthorsandsoftwaredevelopersthantheotherwindowtypes.Typically,ahelpauthorcreatesthedesignandtopicsforanembeddedwindowandthehelpdeveloperusestheHTMLHelpAPItohookitup.

Note

Toseeanexampleofanembeddedhelpwindow,opentheHTMLHelpImageEditor,clicktheHelpmenu,andthenclickHelpTopics.

Aboutcreatinghelpwindows

Page 64: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

AddingbuttonstoahelpwindowThefollowinglistdescribesthebuttonsthatyoucanaddtoahelpwindow:

Hide/ShowOpensorclosestheNavigationpane.Alternatively,youcandisplayahelpwindowwithouttheNavigationpane,orsetupyourwindowtoautomaticallyhidetheNavigationpanewhenitisopened.

Locate

Showswherethecurrenttopicislocatedinthetableofcontents.Ifthecurrenttopicisnotlistedinthetableofcontents,thiscommandwillnotwork.Alternatively,youcanspecifythatthetableofcontentsautomaticallysynchronizewiththetopicthatappearsintheTopicpane.

Back Jumpstotheprevioustopic.Forward Jumpstothenexttopicinapreviouslyviewedsequence.

StopStopsdownloadingfileinformation.ThisisusefulifyourhelpsystemcontainslinkstotheWeb.AusercanclickthisbuttontostopaWebpagefromdownloading.

RefreshUpdatesthetopicthatiscurrentlydisplayedintheTopicpane.ThisisalsousefulifyourhelpsystemcontainslinkstotheWeb.

HomeJumpstoadesignatedhomepage.YoucanspecifyahomepageinyourprojectfilebyclickingAdd/ModifyWindowDefinitions,clickingtheFilestab,andthentypingafilenameintheHomebox.

PrintIfyouareontheContentstab,providesoptionstoprintpages,headings,andsubtopics,ortheentiretableofcontents.IfyouareontheIndexorSearchtab,itopensthePrintdialogboxtoprintthecurrenttopic.

Options

OpensamenulistthatcontainsHome,Show,Back,Stop,Refresh,Print,SearchHighlightOn/Off,andInternetOptionscommands.Allbuttonsthatyouaddtoyourhelpwindowswillbelistedonthismenu.Thisenablesaccessibilityshortcutkeysforeachcommand.TheInternetOptionsandSearchHighlightOn/OffcommandsareonlyavailableontheOptionsmenu.TheInternetOptionscommandopenstheInternetExplorerInternetOptionsdialogboxallowingquick

Page 65: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

accesstoaccessibilityandotherfeatures.TheSearchHighlightOn/Offcommandturnsonoroffhighlightingforsearchterms.

Jump1

Jumpstoanauthor-designatedWebpageorhelptopic.YoucanaddaJumpbuttontolinktoanimportanttopicinyourhelpsystem,ortoapageontheWeb.Ifyouarelinkingtoafileinyourhelpsystem,andthefileislocatedinthesamedirectoryasyourproject(.hhp)file,youonlyneedtoincludethenameofthefile.IfyouarelinkingtotheWeb,youneedtoprovideacompleteURLincludingtheHTTPpartoftheaddress.

Jump2 Jumpstoanauthor-designatedWebpageorhelptopic.

Note

ThedefaultBackandForwardbuttonsarepredefinedtogiveyouthesamefunctionalitytheyhaveinMicrosoftInternetExplorer.Theydonotprovideanauthor-definedbrowsesequence.

Aboutcreatinghelpwindows

Page 66: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

CompileandtesthelpInordertoensurethatyouareshippingahelpsystemwithouterrorsorbrokenlinks,youneedtotestyourhelp.YoucanusetheHTMLHelptestplanasaguidetohelpyoudevelopatestingprocess.

Thisplanincludesinformationabouthowtotestahelpsystemwhencompilingyourprojectandhowtodevelopotherimportanttestingguidelines.

Aboutcreatinghelp

Page 67: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

CompileahelpprojectInHTMLHelpWorkshop,youcancompileacollectionofseparatesourceandreferencefilescontainedinahelpprojectfiletocreateacompiledhelp(.chm)file.Thecompiledhelpfilecanthenbeplacedonyourharddisk,a3.5-inchdisk,acompactdisc,aserverlocation,anInternetlocation,oranintranetlocation.

Duringcompilation,HTMLHelpWorkshopusesthehelpproject(.hhp)filetodeterminehowHTMLtopicfiles,contents(.hhc)files,index(.hhk)files,image(.jpeg,.gif,.png)files,andanyotherelementsyouhaveaddedtotheprojectfilewilllookinthesingle,compressedhelpfile.Ifanyerrorsarefoundduringthecompilation,compilermessagesaregeneratedthatpointahelpauthortotheproblems.

HTMLHelpWorkshopprocessestheseitemsduringthecompilationprocess:

Reportsmissingtopicsorothererrorsincontentsandindexfiles.

Reportsbrokenlinksintopic,index,andcontentsfiles.

Removesunnecessarywhitespaceorcomments.

Aboutcompilingandtestinghelp

Page 68: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

CompilermessagesWhenyoucompileahelpproject,HTMLHelpWorkshopnotifiesyouiftherearebasicproblemsintheprojectfilesbycreatingcompilermessages.Youcanmonitorthesemessagestoseewhetheranyproblems,suchasmissinglinksorgraphics,existinyourhelpfiles.

HTMLHelpWorkshopreportsthesecompilermessages:

Note

Aconditionyoushouldbeawareof,whichwillprobablynotcauseseriousproblemswhenyouopenyourhelpfile.Noteerrormessageshaveanumberrangefrom1000through2999.Forexample,abrokenlinkcausesthistypeofmessage:Thefile"c:\htmlhelp\httempex.htm"hasalinktoanon-existentfile:"tmplstep.htm".

WarningAconditionthatresultsinadefectivehelpfile.Warningerrormessageshaveanumberrangefrom3000through4999.Forexample,aninvalidDLLcausesthistypeofmessage:HHW4000:Warning:Unabletoinitializeforfull-textsearch.The.dllmaynotbeinstalledorisinvalid.

ErrorAconditionthatpreventsthehelpfilefrombeingbuilt.Errormessageshaveanumberrangefrom5000through6999.

InternalErrorAnerrorcausedbytheHTMLHelpWorkshopprogram.InternalErrormessageshaveanumbergreaterthan7000.

Note

HTMLHelpWorkshopcandisplayupto64KofmessagesonthescreeninMicrosoftWindows95and1MBinWindows2000,butthereisnopracticallimittohowmanycompilermessagescanbesavedtoafile.

Aboutcompilingahelpproject

Page 69: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

FilecompressionHTMLHelpWorkshopautomaticallycompressesfilesduringthecompilationprocess.Eachfilethatisincludedinahelpprojectiscompressedtoasmallersize.

Whatdoyouwanttodo?

LearnmoreaboutHTMLHelpprojectfilesandhowtocreateone

Aboutcompilingahelpproject

Page 70: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

AuthoringassistanceHTMLHelpauthoringassistanceisofferedthroughasetofspecialfeaturesforhelpauthors.ThesecommandsareonlyavailableifHTMLHelpWorkshopisinstalledonyourcomputer:

youjumptoaURLthatyouspecify.Thismakesiteasytoseewhatpageyouareon,orquicklynavigatetoaspecificpage.

ViewEntrydisplaysinformationaboutthecurrentlyselectedtableofcontentsentry,includingthedestinationfileorURL,targetframeorwindow,andanyinformationtypesassociatedwiththeentry.

Notes

Incompiledhelpfiles,theJumptoURLandViewEntrycommandscanbeaccessedbyright-clickinginthetoolbarortableofcontentsoftheHelpViewer.TheJumptoURLcommandisavailableonthesystemmenu.

InHTMLfilescontainingtheHTMLHelpActiveXcontrol,theJumptoURLandViewEntrycommandscanonlybeaccessedbyright-clickinginthetableofcontents.

TheViewEntrycommandisnotavailableifyouareusingabinarytableofcontents.

UsingHTMLHelpWorkshop

Page 71: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

HTMLmarkupandthecompilerHTMLHelpWorkshopinsertsHTMLmarkupintotopicfileswhenyousplitanHTMLfile,orinsertAssociativelink(ALink)namesorKeywordlink(KLink)keywordsintoHTMLfiles.Thismarkupinformationisusedbythecompilertoenablethosefeatures.

Forexample,thisinformationenablesALinksaddedtoHTMLfilestoberesolvedwiththeirtargetsduringcompilation,allowingtheusertoclicktheALinkandseealistoftopics.

Themarkupinformationisonlyusedincompiledhelp(.chm)files.ItincludesaspecialCLASSIDattributethatisreferencedbytheHTMLHelpcompiler.

Notes

IfyouusetheSplitFilecommand,insertanALinkname,orinsertaKLinkkeywordintoanuncompiledHTMLfile,itwillbeignoredbytheWebbrowser.

HTMLmarkupappearsinsidean<OBJECT>tag,whichisnottobeconfusedwiththe<OBJECT>tagusedbytheHTMLHelpActiveXcontrol.

Aboutcompilingahelpproject

Page 72: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

ViewingcompiledhelpfileinformationHTMLHelpWorkshopkeepstrackofinformationforeachcompiledhelpfileyoucreate.Thisincludesthedatethefilewascreated,andcanalsoincludealistofeachfilethatwasincluded.

Toviewcompiledhelpfileinformation

1. OntheFilemenu,clickCHMInformation.2. Tolistallofthefilesinthecompiledhelpfile,selecttheListfilenames

checkbox.

3. Toviewthedefaulthelptitle,defaultwindowtype,andotherprojectdefaults,selecttheListdefaultprojectsettingscheckbox.

Notes

Youcansavethecompiledhelpfileinformationtoafile.

YoucancleartheresultsbyclickingtheEditmenu,andthenclickingClearLog.

Aboutcompilingahelpproject

Page 73: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

DecompilingahelpfileDecompilingahelpfileinvolvescopyingthefilesinacompiledhelpfiletoadirectorythatyouspecifywhileleavingthecompiledhelpfileintact.ThisprocedureisusefulforreconstructingindividualHTMLsourcefilesfromacompiledhelpfile.Itisalsousefulwhenyouwanttousethesourcefilescontainedinthecompiledhelpfileinabrowserthatdoesnotsupportcompiledhelpfiles.

Todecompileahelpfile

1. OntheFilemenu,clickDecompile.2. IntheDestinationfolderbox,enterthenameofthefolderwhereyou

wantthedecompiledfilestobecopied.

3. IntheCompiledhelpfilebox,enterthenameofthecompiledhelp(.chm)fileyouwanttodecompile.

Note

ThedecompilecommandispartoftheHTMLHelpexecutableprogram(Hh.exe)andisthereforealsoaclient-sidecommandlineswitchthatworkswhenHTMLHelpWorkshopisnotsetup.FromaDOSpromptorfromtheRuncommand,type-decompilefolderchmwhere-decompileistheswitch,folderisthenameofthedestinationfolderwhereyouwantthedecompiledfilestobecopied,andchmisthenameofthecompiledhelpfileyouwanttodecompile.

Aboutcompilingahelpproject

Page 74: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

TestahelpsystemOneofthemostimportantthingsyoucandotomakesureusersfindtheinformationtheyneedinyourhelpsystemistotestyourhelpfiles.Itisagoodideatotestoftenasyouworkonyourhelpfile,anddoafinaltestofeverythingbeforeyoudistributeit.

Youwanttomakesurethatallthelinksinyourfileswork,yourtableofcontentsandindexarefunctional,yourcontentiscorrect,yourdesignisconsistent,andtherearenotanyothererrorsinyourfilethatcouldconfuseusers.

Togetanideaofhowahelpsystemmightbetested,youcanfollowtheprocessusedbytheHTMLHelpteamtotesthelpfiles.

Aboutcompilingandtestinghelp

Page 75: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

CreatingaprocessfortestingThisistheprocessusedbytheHTMLHelpteamtotestanddebughelpfiles.

Whatdoyouwanttodo?

Developguidelinesfortesting

Cleanupcompilermessages

Testhelpintheuserinterface

Testlinks,pop-upwindows,andrelatedtopics

Checkformattingandstyles

Reviewaccuracyandstyleofcontent

Checktheindex,spelling,andtitles

Abouttestingahelpsystem

Page 76: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

TestinghelpfilesHTMLHelpWorkshophasavarietyoftestingfeaturesthatmakeiteasiertotestyourhelpfiles.

Whatdoyouwanttodo?

Decompileahelpfile

Monitorhelpmessages

Viewcompiledhelpfileinformation

TestKLinksorALinks

Abouttestingahelpsystem

Page 77: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

MonitoringhelpmessagesYoucanviewhelpmessagestotroubleshootcontext-sensitivehelp.HelpmessagescontainthetextofeachHTMLHelpAPIcallthatismade.Eachtimeyouactivatecontextsensitivehelpinyourapplication,anewmessageappearsincludingparameterssuchasthetopicID,textfile,andcompiledhelpfilethatwerereferencedinthecall.Thesemessagescanbesavedasatextfile.

Whatdoyouwanttodo?

Viewhelpmessages

Clearhelpmessages

Learnaboutcompilermessages

Compilingahelpproject

Abouttestingahelpsystem

Page 78: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

UsingcommandlineswitchesSeveralclient-sidecommandlineswitchesareavailabletohelpauthorsthatarepartoftheHTMLHelpexecutableprogram(Hh.exe)andthereforeworkwhenHTMLHelpWorkshopisnotsetup.

FromaDOSpromptorfromtheRuncommand,youcan:

Decompilea.chmfile.

CallatopicusingamapID.

Createan800X600window,withoutcoveringtheWindowstaskbar.

Specifythetitletouseforan800X600window.HTMLHelpReference

Page 79: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

HookuphelptoaprogramHTMLHelpcanbehookeduptoyoursoftwareprograminavarietyofways.YoucanuseHTMLHelpto:

Createtrainingcards.

UseAPIcallstoimplementhelpinyourprogram.

TheHTMLHelpComponents

Page 80: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

Example:creatingashortcut4. Specifytheprogramtoopen,parameters,andwindowclass.

5. SpecifyastandardWindowsmessage,lPARAMandwPARAMmessages,andanHTMLfiletoopeniftheprogramcannotbefound.

Aboutshortcuts

Page 81: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

Createcontext-sensitivehelpContext-sensitivehelpassistsusersbyprovidinghelpbasedonaspecificdialogboxorcontrolinaprogram.Thisenablesuserstogetspecificinformationaboutwhateverpartoftheprogramtheyareusingatanygivenmoment.

Helpauthorsworkwithdeveloperstocreatecontext-sensitivehelp.Thehelpauthorcreatesacompiledhelp(.chm)filethatcontainsthecontext-sensitivehelptopicsandinformationthatmapsthetopicstospecificdialogboxesorcontrols.Thedevelopermodifiestheprogramcodesothatthecorrecttopicappearswhenauserrequestshelp.

Context-sensitivehelpcommonlyappearsinapop-upwindow,whichdisplaysahelptopicaboutaspecificuserinterfaceelement.Forexample,youcandesignyourprogramtohaveaquestionmarkbuttoninthetitlebarofadialogbox.Whenauserclicksthequestionmarkbutton,andthenclicksanywhereinthedialogbox,theywillseeapop-uphelptopicthatprovidesinformationabouttheuserinterfaceelementtheyclicked.

Youcanalsodesigncontext-sensitivehelptopicstoappearinasecondarywindow,anembeddedwindow,orinaWebbrowser.

Abouthookinguphelptoaprogram

Page 82: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

Example:creatingcontext-sensitivepop-uphelpContext-sensitivehelpenablesausertoeasilyfindinformationaboutaspecificuserinterfaceelement.Pop-uphelpappearsinapop-upwindowratherthanintheHelpViewer.Thisexampleisafour-stepprocessthatexplainshowtocreatecontext-sensitivepop-uphelp.

Tomakecontext-sensitivepop-uphelpwork,youneedtocreateatextfileforyourhelptopicsandaheader(.h)file,andthenincludetheminyourproject(.hhp)file.

Thetextfilecontainsallofthetopicsthatareusedforpop-uphelp.EachtopicIDinthetextfilemustmatchasymbolicIDintheheaderfile.Youcancreatemorethanonetextfilefortopics.

TheheaderfileliststhesymbolicIDsandnumericIDsforallthedialogboxesandcontrolsinaprogram.YoursoftwaredevelopmentteamshouldbeabletosupplyalistofIDsforyourheaderfile.

Thefourstepsoftheprocessareasfollows:

1. Createatextfileforpop-uphelptopics.

2. Createaheaderfile.

3. Createa[TEXTPOPUPS]sectioninyourprojectfile.

4. Includeaheaderfileinyourprojectfile.

Notes

Beforeproceeding,youmaywanttoreviewsomebasicguidelinesforcreatingcontext-sensitivehelptopics.

Ifyourhelpdoesn'tworkasexpected,youcantroubleshootpop-uphelpproblems.

Aboutcreatingcontext-sensitivehelp

Page 83: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

CreatetrainingcardhelpYoucancreatetrainingcards,whicharespecializedhelptopics,tosendinstructionsto,andreceiveinstructionsfrom,aprogram.Theyareparticularlyusefulinguidingusersthroughaprocedurestep-by-step.Whenevertheusercompletesastep,thenextstepcanautomaticallyappear.Ifauserincorrectlyperformsastep,informationcanappearthatspecificallyaddressestheirmistakes.Trainingcardtopicsappearinasecondarywindow.

HelpauthorsinserttheHTMLHelpActiveXcontrolintotrainingcardtopicstosendinformationtoprograms.YouworkwithadeveloperusingtheHTMLHelpAPItomaketheappropriateAPIcalls.

Trainingcardhelpisinitiatedeitherfromauserselectioninahelptopicorbyactionsausertakesinaprogram.Thesearetheactionsthattakeplacewhenatrainingcardisused:

Thetrainingcardhelpsendsmessagesdirectlytoasoftwareprogram.

TheuserinteractswithHTMLHelpbyansweringaquestion,andthenHTMLHelpsendsmessagestotheprogrambasedontheresponse.TheprogrammustprocesstheWM_TCARDmessagetoreceivemessagesfromHTMLHelp.ThehelpauthoraddstheActiveXcontroltothehelpfiletoinitiatethesemessages.

Abouthookinguphelptoaprogram

Page 84: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

CreatingatrainingcardTrainingcardsarespecializedhelptopics,tosendinstructionsto,andreceiveinstructionsfrom,aprogram.Theyareparticularlyusefulinguidingusersthroughaprocedurestep-by-step.

youwanttohaveinformationsenttoorfromaprogram.

2. ClickHTMLHelpActiveXControl.3. IntheSpecifythecommandbox,clickTrainingCard,andthenifyou

havealreadyusedtheHTMLHelpActiveXcontrolinthisfile,enteranIDnameforthisinstanceofthecontrol.

4. WorkwithadeveloperandtheHTMLHelpAPItoaddtheappropriateWM_TCARDcallsforyourtrainingcard.

Note

FordetailedinformationabouttheTCardcommand,seetheHTMLHelpActiveXcontrolreference.

Aboutcreatingtrainingcardhelp

Page 85: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

ManagelargedocumentsetsHTMLHelpWorkshopcontainsseveralfeaturesthatyoucanusetomanagelargedocumentsets.Youcanusethesefeaturestocreatehelpsystemsthatcontainmultiplecontents(.hhc),index(.hhk),andcompiledhelp(.chm)files.Theyareparticularlyusefulifyouareshippingahelpsystemthatcontainscomponents.

Ifyouaredistributingmultiplecompiledhelpfiles,youcan:

Mergecompiledhelpfilesatruntime.Thismergestheindexandfull-textsearchinformationfrommultiplecompiledhelpfiles.UnifiedindexandsearchinformationappearsintheNavigationpaneoftheHelpViewer.

Createatableofcontentsthatincludeslinkstoothercontentsfiles.Youcanusethisfeaturetocreateaunifiedtableofcontents.

Assigninformationtypestoyourtopicstodeterminewhichgroupofuserswillseeeachtopic.

Ifyouaredistributingaverylargecompiledhelpfile,youcan:

Useabinarycontentsfile,whichopensquickerthanasitemapfileatruntime.

Aboutcreatinghelp

Page 86: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

MerginghelpfilesatruntimeWhenyoumergehelpfiles,informationfromtheindexandfull-textsearchofmultiplecompiledhelp(.chm)filesiscombinedatruntime.Aunifiedindexandfull-textsearchinformationappearsintheNavigationpaneoftheHelpViewer.

Tocombinethetablesofcontentsfrommultiplehelpfiles,youneedtolinktothecontentsfilesthatneedtobemerged.

Thisisaveryusefulfeaturewhenyouneedtomergemultiplehelpfilesthataredesignedascomponentsofalargerhelpsystem.Forexample,theProfessionaleditionofasoftwareproductmightcontainfourprograms,eachwithaseparatehelpfile;whiletheStudenteditionofthesameproductmightcontainonlytwoprogramsandrelatedhelpfiles.

Whenahelpauthorcreatesaprojectfilethatspecifieswhichfilestomergeatruntime,thehelpcompilerwillfindandmergeonlythosefilesonauser'scomputer.

Therearespecialconsiderationswhenlinkingbetweenmergedhelpfiles.

Aboutmanaginglargedocumentsets

Page 87: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

LinkingbetweenmergedhelpfilesYouneedtouseaspeciallinkwhenlinkingbetweenmergedcompiledhelp(.chm)files.

Tolinkbetweenmergedhelpfiles

1. OpentheHTMLfileyouwanttolinkfrom.

2. Createalinkusingthefollowingsyntax:

<AHREF="ms-its:filename.chm::/topic.htm">

wherefilename.chmisthenameofthemergedcompiledhelpfileandtopic.htmisthenameoftheHTMLfiletowhichyouwanttolink.

Notes

TheMS-ITSprotocolworkswithMicrosoftInternetExplorer4.0orlater.IfyourusersarerunningInternetExplorer3.0,theyneedtousethefollowingprotocol,whichalsoworkswithlaterversionsofthebrowser:mk:@MSITStore:filename.chm::/topic.htm.

Themergeoccursatruntime,whichiswhenthecompiledhelp(.chm)fileisopened.Becauseofthis,allmergedcompiledhelpfilesmustbeshippedwiththemaincompiledhelpfile,andallmustbelocatedinthesamedirectory.

Aboutmerginghelpfilesatruntime

Page 88: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

ManagingmergedindexfilesMergingindex(.hhk)filesfrommultiplecompiledhelp(.chm)filesrequiressomemanagementofeachindex.Considerthefollowingwhencreatingtheindexfilesforeachcompiledhelpfileinthecollection:

guidelinestoavoidunwantedrepetitionofsimilarindexentries.

Keywordlinks(KLinks)andAssociativelinks(ALinks)shouldbestandardizedforalltheindexfilesinthecollection.

Abbreviationsshouldbestandardizedforalltheindexfilesbeingmerged.

sitemapindexfilescannotbemergedwithbinaryindexfiles.

Ifused,informationtypesshouldbestandardizedforalltheindexfilesinthecollection.

Mergedindexesarecreatedatruntimeandanyeditsorcustomizationtoindividualindexfileswillbelostwhenthemergedindexisresorted.

Aboutmanaginglargedocumentsets

Page 89: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

UsingHTMLHelpontheWebCreateahelpWebsite

MuchofthefunctionalityavailableinHTMLHelpcanbeusedtocreatepowerful,dynamicWebsites.GO

Createaframeset

IntroducingHTMLHelp

Page 90: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

CreateahelpWebsiteTherearetwowaystoauthorforWebsites.YoucancreateuncompiledHTMLtopic,contents,andindexfiles.ThenyoucanpostthesefilestoaWebsite.Or,youcancreateaWebpagewithalinktoacompiledhelp(.chm)file.

Therearebrowserissuestoconsider,basedonyourtargetaudience,ineachmethodofauthoring.FordetailedinformationaboutusingtheHTMLHelpActiveXcontrolontheWeb,seetheHTMLHelpActiveXcontrolreference.

UsingHTMLHelpWorkshop,youcan:

CreateanHTMLtopicfile.

CreateatableofcontentsforaWebpage.

CreateanindexforaWebpage.

InserttheHTMLHelpActiveXcontrolintoanHTMLfile.

InserttheHTMLHelpJavaAppletintoanHTMLfile.

Createaframeset.

RunacompiledhelpfilefromaWebpage.

AboutusingHTMLHelpontheWeb

Page 91: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

CreatingHTMLfilesTheeasiestwaytoauthoryourhelpsystemistocreateanewHTMLfileforeachhelptopicorWebpage.Youcanthencreateahelpprojectfiletocollect,manage,andcompileyourhelptopics.

Whatdoyouwanttodo?

CreateanewHTMLfile

Convertanexistinghelpproject

ViewanHTMLfile

AddtagsandotherelementstoHTMLfiles

SplitanHTMLfilewithmultipletopicsintomultipletopicfiles

AboutcreatingHTMLtopicfiles

Page 92: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

CreatingatableofcontentsforaWebsiteCreatingatableofcontentsforuseasanavigationalaidonaWebsiteissimilartocreatingatableofcontentsforuseinacompiledhelpfile.ThisproceduredescribestheextrastepsyoumusttaketomakethetableofcontentsusableovertheWeb.

TocreateatableofcontentsforaWebsite

1. Createatableofcontentsfile.

2. CreatetheHTMLfilethatwillcontainyourtableofcontents.

3. Positionyourcursoratthelocationwhereyouwantthetableofcontentsfiletoappear,andthenclickHTMLHelpActiveXControl.

4. IntheSpecifythecommandbox,clickTableofContents,andthenfollowtheinstructionsonyourscreen.

Notes

IfyourusersdonothaveabrowserthatsupportsActiveXcontrols,tryusingtheHTMLHelpJavaApplet.

FormoreinformationabouttheContentscommand,seetheHTMLHelpActiveXcontrolreference.

Aboutcreatingtableofcontentsfiles

Page 93: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

CreatinganindexforaWebsiteCreatinganindexforuseasanavigationalaidonaWebsiteissimilartocreatinganindexforuseinacompiledhelpfile.ThisproceduredescribestheextrastepsyoumusttaketomaketheindexusableovertheWeb.

TocreateanindexforaWebsite

1. Createanindexfile.

2. CreatetheHTMLfilethatwillcontainyourindex.

3. Placeyourcursoratthelocationwhereyouwanttheindexfiletoappear,andthenclickHTMLHelpActiveXControl.

4. IntheSpecifythecommandbox,clickIndex,andthenfollowtheinstructionsonyourscreen.

Notes

SinceanindexcreatedforaWebsiteisnotcompiled,itshouldbecreatedusingasitemap.

IfyourusersdonothaveabrowserthatsupportsActiveXcontrols,tryusingtheHTMLHelpJavaapplet.

FormoreinformationabouttheIndexcommand,seetheHTMLHelpActiveXcontrolreference.

Aboutcreatingindexfiles

Page 94: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

InsertingtheHTMLHelpActiveXcontrolInsertingtheHTMLHelpActiveXcontrolintoahelptopicorWebpageinvolvesaddinganobjecttagatthelocationyouwantthefunctionalitytoappear.TheHTMLHelpActiveXControlWizardenablesyoutoinserttheobjecttagforthecontrol.Thewizardcanalsobeusedtoeditexistinginstancesoftheobjecttag.

ToinserttheHTMLHelpActiveXcontrolintoatopic

1. OpenanHTMLfile,andthenpositionthecursoratthelocationwhereyouwanttheActiveXcontrolfunctionalitytoappear.

2. ClickHTMLHelpActiveXControl,andthenfollowtheinstructionsonyourscreen.

Notes

YoucanalsoedittheHTMLHelpActiveXcontrol.

TheHTMLHelpActiveXcontrolissignedusingAuthenticode2.0technology.YoumayneedtoinstallAuthenticode2.0inordertosuccessfullyrunthecontrol.

Formoreinformationaboutthecontrol,seetheHTMLHelpActiveXcontrolreference.

AbouttheHTMLHelpActiveXcontrol

Page 95: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

RunningacompiledhelpfilefromtheWebYoucanaddalinktoacompiledhelpfiletoapageonaWebsite.Whenauserclicksthelinkadialogboxwillappearthatgivesthemtheoptionofsavingthecompiledhelpfiletotheirharddiskoropeningitfromthedirectorywhereit'slocated.

ToopenacompiledhelpfilefromaWebpageortopicfile

1. CreateanHTMLfile.

2. Usethefollowingsyntaxtoopenthecompiledhelp(.chm)filefromyourHTMLfile:

<AHREF="filename.chm">Linktext</a>

wherefilename.chmisthenameofthecompiledhelpfile,andLinktextisthetextlink.

3. Makesurethatthecompiledhelpfileyouwanttolinktoislocatedinthesamedirectoryasthetopicfileyouarelinkingfrom.

Note

Ifthecompiledhelpfileyouarelinkingtoisinadifferentdirectorythanthetopicyouarelinkingfrom,youwillneedtoenterthepathtothecompiledhelpfile.Forexample,ifthehelpfileislocatedinadirectoryontheWeb,youwouldneedtoenterthefullURLincludingtheHTTPaddress,<AHREF="http://www.sample.com/example.chm">

Aboutcreatingalinktoanothercompiledhelpfile

Page 96: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

CreateaframesetWhendesigningforahelpWebsite,youmaychoosetocreateaframesetforyourhelpcontent.Afteryouhavecreatedaframeset,youaddtheHTMLHelpActiveXcontroltotheframesthatyouwanttohavehelpfunctionality.

Framesetsareawayofspecifyingmultiple,independent,scrollableregionswithinabrowserwindow.EachframecancontainaseparateHTMLdocument.Youcanhaveframesthatscrollandresize,dependingonhowyouauthortheframeset.

Youneedtoassignanametoeachframeyoucreate.Thiswillenableyoutolinkfromoneframetoanother.Forexample,oneframecancontainatableofcontentsandanotherframetopics.Whenauserclicksanentryinthetableofcontentsatopicopensintheotherframe.

YoucanusetheHTMLHelpActiveXcontroltoaddthefollowingtoyourframeset:

Atableofcontents.

Anindex.

Relatedtopiclinks.

LinkstoaWinHelpfileortopic.

Asplashscreen.

Pop-upwindows.

AlinkthatopensadialogboxdisplayingtheversionnumberoftheHTMLHelpActiveXcontrol.

Note

Ifyoudon'twanttocreateyourownframesettodisplaytopicsyoucanusetheHelpViewer.ThereisaperformancegainwhenusingtheHelpViewer.

YoucanlinktoacompiledhelpfilefromaWebsite,andhaveyourusersdownloadthefile,insteadofdesigningyourhelptoappearontheWeb.

YoucanviewtheHTMLHelpsampleWebsitetolearnmoreaboutdesigninghelpfortheWeb.

AboutusingHTMLHelpontheWeb

Page 97: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

Example:createatwo-frameHTMLframesetThisexampleisafive-stepprocessthatexplainshowtocreateatwo-frameHTMLframesetdesignedtoappearinaWebbrowser.Itprovidesinstructionsforcreatingatableofcontentsintheleftframethatjumpstotopicsintherightframe.ItalsoexplainswhenandwheretoaddtheHTMLHelpActiveXcontrol.

OnceyouhavecreatedtheexampleframesetyoucanaddotherHTMLelementstoittoseehowitworks.YoucanalsochangetheframesetvaluesoredittheHTMLHelpActiveXcontrolfeatures.

Thefivestepsoftheprocessareasfollows:

1. Createatwo-frameframeset.

2. Addanavigationframe.

3. Addadefaultframelocationtothetableofcontentsfile.

4. Addatopicframe.

5. Viewthecompleteframesetinabrowser.

Notes

Ifyoudon'twanttocreateyourownframesettodisplaytopicsyoucanusetheHelpViewer.

Tocarryoutthisexample,youmustalreadyhaveacontents(.hhc)fileandafewHTMLtopicfilesthatitlinksto.

Aboutcreatingframesets

Page 98: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

CreatingalinktocloseaframesetCurrentlytheHTMLHelpActiveXControlClosecommanddoesnotworkproperlywithWebpagesthatcontainframes.Becauseofthis,youwillneedtocreateaspeciallinktoclosesuchpages.Thislinkwillclosethemainbrowserwindowandalloftheframesitcontains.

Tocloseawindowthatcontainsaframeset:

1. OpentheHTMLfileinwhichyouwanttoincludethelink.

2. Positionyourcursorwhereyouwantthelinktoappear.

3. Addthelinkusingthefollowingsyntax:

<AHREF=JavaScript:window.top.close()>Close</A>

Page 99: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

HTMLHelpreferencesTheHTMLHelpActiveXcontrolreference

TheHTMLHelpActiveXcontrolreferenceprovidesinformationabouthowtousethecontrolinanHTMLfileandhowtosetitscommandsandparameters.GO

TheHTMLHelpapplicationprogramminginterface(API)reference

HTMLtagreference

ScriptandDHTMLexamples

HTMLHelpViewertopics

IntroducingHTMLHelp

Page 100: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

HTMLHelpAPIReferenceTheHTMLHelpAPIReferenceprovidesinformationontheHTMLHelpapplicationprogramminginterface(API),whichenablesaprogramtodisplayahelpwindow.ItincludescomprehensiveinformationabouthowtousetheHTMLHelpAPIcommands,datastructures,andnotificationmessages.

Thereferenceprovidesthefollowingsections:

TheoverviewsectiondescribestheHTMLHelpAPI,andexplainsthesyntaxrequiredtoaccessit.

ThereferencetopicsprovidesyntaxdescriptionsandcodeexamplesforallcommandsthatcanbepassedtoHtmlHelp(),andsyntaxdescriptionsforallstructuresandnotificationmessagesusedbyHtmlHelp().

HTMLHelpReferences

Page 101: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

HTMLTagReferenceTheHTMLHelptagreferenceprovidesinformationonHTMLcolorvalues,HTMLelements,HTMLattributes,andcascadingstylesheet(CSS)attributes.

YoucanviewtheHTMLTagReferenceeitherfromtheHTMLHelpWorkshophelpfileorinasecondaryhelpwindow.

Page 102: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

ToviewtheTagReferenceinasecondarywindow

Page 103: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

ScriptandDHTMLexamplesTheexamplesinthisreferencedemonstratehowyoucanusescriptsandDynamicHTML(DHTML)toaddfunctionalitytoyourhelpsystem.

Page 104: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

Scriptexamples:method.Thisexampleisintendedtobeusedwithinahelptopic,andisnotthesamefeatureascontext-sensitivehelp,whichopensinanexternalapplication.Toimplementcontext-sensitivehelp,youmustworkwiththeHTMLHelpAPI.

Annotateanimagebyassociatingaseriesofpop-upwindowswiththeregionsofanimagemap.ThisexampleshowshowyoucanannotateimagesinmuchthesamewaythatMicrosoftHelpWorkshopHotspotEditor(Shed.exe)allowsyoutocreateandedithypergraphics.

Storetextforpop-upwindowsinatextfileinsteadofembeddingthetextineachHTMLfile.ThisexamplealsoshowshowtolinktothetextfilefromanHTMLfile.

UseJavaScripttocreateasecondarybrowserwindowthatcanbeusedtodisplaytextorgraphics.

Createaglobalscriptfiletostoreallofyourscriptsinoneeasy-to-referencelocation.Thiscanmakeitmucheasiertomaintainscriptsthataffectmultipletopicswithinahelpsystem.

UseJavaScripttolinktoafileoutsideofyourhelpsystem.Thisisespeciallyusefulforlinkingtolargerfiles,suchasvideoclips.

Page 105: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

DHTMLexamples:Thiscanhelpyoutoconservescreenspaceinyourhelptopics.

Createdynamiclinksthatwilllivenupyourhelptopics.Thisexampleshowstheeasiestwaytoaddmouseoverfunctionalitytoeveryhyperlinkinyourhelpproject,andalsoshowshowtocreatecompactcustomlinksusingthe<SPAN>tag.

AbouttheHTMLHelpReferences

Page 106: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

Example:Createapop-upwindowUsingtheHTMLHelpActiveXcontrol,youcancreateapop-upwindowthatappearswhenauserclicksaspecificword,phrase,orgraphicinatopic.ThisexampleisbasedontheTextPopupmethod.

Thestepsoftheprocessareasfollows:

1. Writethetextforthepop-upwindow.

2. InserttheHTMLHelpActiveXcontrolinyourHTMLfile.

3. Createahyperlinktoopenthepop-upwindow.

Notes

YoucanusethisexamplewithbothuncompiledHTMLfilesandcompiledhelp(.chm)files.

Thisprocedurecannotbeusedtocreatecontext-sensitivehelptopicsthatusersopenthroughanexternalprogram.

AboutthescriptandDHTMLexamples

Page 107: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

Example:Tostoretextforpop-upwindowsinatextfileThetextforpop-upwindowscanbestoredinonetextfilewiththe.jsfilenameextension.Thisenablesyoutostorethetextforallpop-upwindowsinyourentirehelpsysteminasinglelocation.Thisalsoenablesyoutogloballydefinethefontattributestobeusedforpop-upwindows.

1. Createyourpop-upwindowsusinganytexteditor,inthefollowingformat:

popfont="Facename[,pointsize[,charset[,PLAINBOLDITALICUNDERLINE]]]"Text1="Thetextforthefirstpop-upwindow."Text2="Thetextforthesecondpop-upwindow."

wherepopfontisthenameofthevariablethatspecifiesthefontattributesforthepop-uptextandText1,Text2,andsoon,arethevariablesthatspecifythetextofeachpop-upwindow.

2. Savethefilewitha.jsfilenameextension.

3. CopythefollowingcodeintoeachHTMLfilefromwhichyouwanttoopenapop-upwindow.Placethecodebetweenthe<HEAD>startandendtags:

<OBJECTid=HHCTRLtype="application/x-oleobject"classid="clsid:adb880a6-d8ff-11cf-9377-00aa003b7a11"></OBJECT>

<SCRIPTlanguage=javascriptSRC="terms.js"></SCRIPT>

whereHHCTRListheIDofthecontrolthatyouarereferencing,andterms.jsisthenameofyourtextfile.Youmightwanttoincludeanerrorhandlerthatisinvokedifthespecifiedtextfilecannotbefound.

4. AlsocopythiscodeinyourHTMLfiletocalltheTextPopupmethodoftheHTMLHelpActiveXcontrol:

<AHREF="JavaScript:HHCTRL.TextPopup(Text1,popfont,9,9,-1,-1)"Title="Clickforpop-updefinition">Wordtobedefined</A>

Notes

Youmustaddthetextfiletothe[FILES]sectionofyourproject(.hhp)file.

Thisprocedurecannotbeusedtocreatecontext-sensitivehelptopicsthatusersopenthroughanexternalprogram.

Page 108: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

AboutthescriptandDHTMLexamples

Page 109: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

Example:Addtextpop-upstoanimageYoucanaddpop-uphelptopicstoanimagebyusinganimagemapinconjunctionwiththeHTMLHelpActiveXcontrol.Thisletsyouassociateapop-upwindowwitheachregionofanimage.Whenauserclicksanareaoftheimage,apop-upwindowwilldisplaythetopicthatgoeswiththatarea.ThisexampleisbasedontheTextPopupmethod.

Thestepsoftheprocessareasfollows:

1. Createanimagemap.2. Writetextforpop-upwindows.3. Addtheimagetoyourproject(.hhp)file.4. InserttheHTMLHelpActiveXcontrolinyour

HTMLfile.5. Addhyperlinkstoeachregionoftheimagemap.

Note

YoucanusethisexamplewithbothuncompiledHTMLfilesandcompiledhelp(.chm)files.

AboutthescriptandDHTMLexamples

Page 110: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need
Page 111: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

Example:CreateanewwindowusingJavaScriptYoucanuseJavaScripttolaunchanewwindow(aninstanceofInternetExplorer).ThecodeinthisexamplecanbeusedonbothstandardWebpagesandwithincompiledhelp(.chm)files.

Createthelinkasfollows:

<AHREF="#"onClick="window.open('examples/sample.htm',

'Sample','toolbar=no,width=190,height=190,left=500,top=200,

status=no,scrollbars=no,resize=no');returnfalse">

Seethesample</A>.

whereexamples/sample.htmisthepathtothefilethatwillappearinthenewwindow,Sampleisthenameargumentforthenewwindow,andtheremainingvaluesaretheattributesforthepop-upwindow(widthandheightinpixels,toolbar,scrollbar,statusbar,andresize).Theseattributesareseparatedbycommas,andtheentirelineisenclosedinsinglequotes.

Notes

Page 112: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

Thehashmark("#")characterensuresthatthestateofthecurrenthelpwindowwillberetained.returnfalsepreventsthehashmarkfromappearinginthelocationfieldofthemainwindow,whichwouldinterferewiththefunctionalityoftheBackandForwardbuttons.Allofthecodemustbeonthesamelineoritwillnotwork.Thelinesinthisexamplearebrokenforlegibility.Whenworkingwithcompiledhelp(.chm)files,allHTMLfilesreferredtobythiscodemustbeincludedinyourprojectbeforecompiling.Also,becausethecompilercanonlyincludegraphicsfilesin<IMG>tags,itwillmissanygraphicsfilesthatareincludedinthisscript.Ifyouusethisscriptinacompiledhelpfile,makeitpointtoanHTMLfileratherthanagraphicsfile.

AboutthescriptandDHTMLexamples

Page 113: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

Example:linktofileoutsideofyourhelpsystemTherearemanyreasonswhyyoumightwanttolinktoafilelocatedoutsideofacompiledhelp(.chm)file.Sayyouwanttolinktoavideoclip.Includingsuchalargefileinyourhelpprojectcouldresultinanenormouscompiledhelpfile.Theremayalsobetimeswhenyouneedtolinktoareadmefilethatwasnotreadywhenthe.chmfilewasbuilt.

WhenyouaredesigninganormalWebpage,linkingtofilesisasimplematterofspecifyingthelocationofthetargetfile.Thelocationofthepagecontainingthelinkisirrelevant.However,thingsaredifferentinacompiledhelpfile.Themainproblemwithcompiledhelpisthatyoucanonlylinktoexternalfilesusinganabsolutepath.Thisisfineifyouarecertainthelocationofthehelpfilewillalwaysbethesame.Butwhatifauserinstallsyourhelpfiletoanunexpectedlocation?Ifthishappens,anylinksusingabsolutepathswillbebroken.Similarly,ifyourhelpfileistobereferencedfromacompactdisc,itisimpossibletopredictwhichdriveletterwillbeinuse.

YoucanuseJScripttobypasstheselimitations.The

Page 114: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

followingscriptusesthelocationobjecttofindoutwhereyour.chmislocatedonthelocalcomputer,andparsesanabsolutepathtothefilesyouspecify.Allyouneedtodoisinstallthetargetfile(s)intothesamedirectoryasthe.chm,andspecifythetargetfilenamesineachrespectiveanchortag.

Followingisastep-by-stepexplanationofhowthescriptworks.

Here,thefunctionisbegunandthevariablesaredeclared.Variable"fn"willbepassedtothescriptfromthelinkitself:

Here,thefunctionisbegunandthevariablesaredeclared.Variable"fn"willbepassedtothescriptfromthelinkitself:

<SCRIPTLanguage="JScript">

functionparser(fn){

varX,Y,sl,a,ra,link;

TheJScriptsearchmethodisusedtofindtheindexofthefirstcoloninthestringreturnedbythelocationobject:

ra=/:/;

a=location.href.search(ra);

Page 115: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

AnIFstatementdetermineswhichofthetwopossiblemonikerprotocolsisinuse.Ifthevalueof"a"equals2,thenmk:@MSITStore:istheprotocolinuseandXequals14(usedlatertoparseanoffsetof14characters).Otherwise,protocolms-its:isinuseandXequals7.

if(a==2)

X=14;

else

X=7;

Next,theJScriptlastIndexOfmethodreturnstheindexofthelastbackslashinthelocation.hrefstringtouseasavalueforY(thesecondcharacteroffset,usedlaterinparsing).Variable"sl"containsthesubstringtosearchfor(twobackslashesareusedtoindicateasinglebackslash):

sl="\\";

Y=location.href.lastIndexOf(sl)+1;

ThisiswherethevaluesXandYcomeintoplay.ThesubstringmethodusesXandYtoparsethebeginningandendoflocation.href,respectively,returningasubstring(hencethenameofthemethod).Forexample,saylocation.hrefreturnsthevaluems-

Page 116: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

its:C:\dir\file.chm::/topic.htm.Inthesubstringmethod,ifXequals7,thenthefirst7charactersareremovedfromthestring.IfYequals14,theneverythingafterthe14thcharacterisremoved.ThiswouldresultinC:\dir\,therootpathoffile.chm.Thestring"file:///"isthenaddedtothebeginningofthestring,andthetargetfilename(variable"fn")isaddedtotheend:

link='file:///'+location.href.substring(X,Y)+fn;

Finally,thelocationobjectischangedtothepathvaluestoredinthevariable"link":

location.href=link;

}

</SCRIPT>

Hereisthecompletescriptwithoutcomments:

<SCRIPTLanguage="JScript">

functionparser(fn){

varX,Y,sl,a,ra,link;

ra=/:/;

Page 117: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

a=location.href.search(ra);

if(a==2)

X=14;

else

X=7;

sl="\\";

Y=location.href.lastIndexOf(sl)+1;

link='file:///'+location.href.substring(X,Y)+fn;

location.href=link;

}

</SCRIPT>

Thisisthesyntaxforthelink:

<aonclick="parser('loremipsum.htm')"style="text-decoration:underline;

color:green;cursor:hand">Linktoloremipsum.htm</a>

Thetargetfilename(inparentheses)ispassedtothescriptasastringvariable("fn"inthisexample).This

Page 118: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

enablesyoutoaccessthesamescriptwithmultipleanchortagssoyoucanlinktomorethanonefile.

Notes

Thefileyouarelinkingtomustbestoredinthesamedirectoryasyourcompiledhelpfile.TheHREFattributemustbeomittedfromthe<A>tag.Allstyleattributesfortheanchortagmustbedefinedmanuallysothattheanchortextappearsasalink.TextandHTMLfileswillopenintheHelpViewerwindow.Ifyouarelinkingtoatextfile,besuretousehardreturns.Otherwise,thetextwillnotwrapproperly.Allotherfileswillopenintheprogramwithwhichtheyareassociated.Forexample,clickingalinktoan.avifilewilllaunchaninstanceofMicrosoftMediaViewer.However,ifauserdoesnothavetheappropriateprograminstalled,heorshewillnotbeabletoopenthefile.

AboutthescriptandDHTMLexamples

Page 119: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

Example:CreateaglobalscriptfileYoucanconsolidatescriptsinaglobalfilethatcanbereferencedfrompagesinbothcompiledanduncompiledhelpsystems.Thismakesiteasiertomaintainscriptsthatareusedbymanydifferentpages,suchasthoseusedforimage-swapping.ThisexampleshowsaglobalfileusingJavaScript,butitwillworkwithotherWebscriptinglanguages,suchasMicrosoftVisualBasicScriptingEdition.

Therearethreestepstoimplementingaglobalscriptfile:

1. CreatethescriptfileusingNotepad(oranothertexteditor).Thisisthefilethatcontainsallofthescriptcode.Savethisfilewitha.jsextension.

2. Adda<SCRIPT>tagtothe<HEAD>tagofeachHTMLfile.Thislinksthecodeinyourglobalfiletothepage.Thetagshouldlooklikethis:

<scriptlanguage="JavaScript"src="master.js"></script>

WhereJavaScriptisthenameofthescriptinglanguageyouareusingandmaster.jsisthenameoftheglobalscriptfile.

Page 120: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

3. Ifyouarecreatingacompiledhelp(.chm)file,addthefilenameofyourmasterscriptfiletothe[FILES]sectionofyourproject(.hhp)file.

Youcancallscriptsthatarestoredinaglobalfilethesamewayyouwouldcallscriptcodethatisactuallyonthepage.Forexample,ifyoucreatedaglobalfilewithfunctionFoo(),youcouldreferenceitlikethis:<aonclick="Foo()">.

Notes

Youcancreatemorethanoneglobalscriptfile.Thisprocedurecanbeusedwithanyscriptinglanguage.

AboutthescriptandDHTMLexamples

Page 121: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

Example:CreateexpandablesectionswithDHTMLYoucanuseDynamicHTML(DHTML)tocreateexpandablesectionsinyourHTMLfiles.Thiscanbehelpfulwhenyoudocumentscreenshotsandotheritemsthatoccupyalargeamountofscreenspace.Expandablesectionsgivetheusermorecontroloverthedisplayofsuchelements,lettingthemdisplaythemasneeded.

Thesetopicsuse,assamples,thesourcecodeforthesidebarsintheHTMLHelpdocumentation.

Therearethreestepstocreatingexpandablesections:

1. Createthetagthatwillcontainthecontentsforeachsection.

2. InserttheJavaScriptcode.3. Updateyourstylesheettoreflectthenewsection.

Notes

YoucanusethisexamplewithbothuncompiledHTMLfilesandcompiledhelp(.chm)files.

AboutthescriptandDHTMLexamples

Page 122: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need
Page 123: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

Example:CreatedynamicelementswithDHTMLDynamicHTML(DHTML)offersawiderangeofpossibilitiestohelpyouimprovethefunctionandappearanceofyourhelpsystem.ThefollowingexamplesexplaintwodynamiclinksthatareusedintheHTMLHelpdocumentation,andtheyprovidesamplecodethatwillhelpyoutoimplementsimilarlinksinyourhelpsystem:

Addmouseoverfunctionalitytoallofthehyperlinksinyourhelpsystem.Allittakesisonesmalladditiontoyourstylesheet.Takeyourlinksastepfurtherwithdynamicinlineelements.

Formoreinformation,gototheDHTML,HTML,andCSSWebsiteinMicrosoft'sSiteBuilderNetwork.

AboutthescriptandDHTMLexamples

Page 124: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

HTMLHelpViewertopicsTheHTMLHelpViewertopicscontainbasicinformationabouthowtousetheviewer.Informationonusingtheaccessibilityshortcutkeysisincluded.Ifyouareahelpauthor,youcanincludethesetopicsinyourhelpfile.

Youcandownloadacompiledhelp(.chm)filethatcontainstheHelpViewertopicsfromtheHTMLHelpWebsite.Youcanthendecompilethehelpfile,revisethetopicstoconformtoyourguidelines,andincludetheminyourhelpsystem.

WhatisHTMLHelpWorkshop?

Page 125: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

AboutMSDNscriptingreferencesMicrosoftpublishesextensivescriptingreferencesforMicrosoftJScript,MicrosoftVisualBasicScriptingEdition,andDynamicHTML(DHTML).

IfyouareamemberoftheMicrosoftDeveloperNetwork,youcanviewthesereferencesontheWeb.

HTMLHelpreferences

Page 126: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

AbouttheHTMLHelpAuthoringGuideTheHTMLHelpAuthoringGuideisanonlinedocumentdesignedtoprovidedesigners,developers,andhelpauthorswiththeinformationtheyneedtouseHTMLHelpanditscomponents.

TheHTMLHelpAuthoringGuidehasthesesections:

IntroducingHTMLHelp:GeneralinformationaboutHTMLHelpandanintroductiontotheHTMLHelpcomponents.

Designingahelpsystem:Topicsforhelpauthors,designers,anddevelopersusingHTMLHelptodesignanddevelopahelpsystem.

Creatinghelp:InformationforhelpauthorsusingHTMLHelpWorkshopasatooltocreate,edit,andmanagehelpfiles.

UsingHTMLHelpontheWeb:InformationaboutusingcomponentsofHTMLHelponWebsitestoorganizeandpresentinformation.

HTMLHelpreferences:TheHTMLHelpActiveXcontrolreference,theHTMLHelpAPIreference,theHTMLtagreference,areallimporatntreferencesforthehelpdeveloper.ApointerisalsoavailabletothedocumentationfortheHTMLHelpViewerthatahelpauthorcanusetocreatehelptopicsfortheHelpViewer.

TheHTMLHelpWebsitecontainsadditionalinformationaboutHTMLHelpdesignanddevelopment,includingupdatedreferences,sampletopicsonhowtousetheHelpViewer,andasampleWebsitethatusestheHTMLHelpActiveXcontrolfornavigation.

TheHTMLHelpComponents

Page 127: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

AbouttheHTMLHelpexecutableprogramTheHTMLHelpexecutableprogram(Hh.exe)runswheneverauserclicksacompiledhelp(.chm)fileormenuitemthatopensthehelpfileinsidetheHelpViewer.TheHTMLHelpexecutableprogramcallstheHTMLHelpActiveXcontrol,whichopensthehelpfileandprovidesnavigationandotherfeaturestotheuser.

Theprogramprovidesthesefeatures:

TopicsappearintheHelpViewer.

TheHTMLHelpActiveXcontrolisbuiltintotheHelpViewersothatanynavigationalelements(suchasatableofcontents,index,orfull-textsearch)specifiedbythehelpauthorwillbepartofthecompiledhelpfilethatausersees.

TheHTMLHelpcomponents

Page 128: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

AbouttheHTMLHelpcompilerTheHTMLHelpcompiler(Hha.dll)ispartofHTMLHelpWorkshopandistheprogramthatcompilesaproject(.hhp),contents(.hhc),index(.hhk),topic(.html),andother(.gif,.jpeg,etc.)filesintoacompiledhelp(.chm)file.

Thecompilerprovidesthesefeatures:

Sourcefilesarecompressedintoacompiledhelpfile,whichusesfarlessdiskspacethantheoriginalsourcefiles.

Compiledhelpfilescanbedistributedalongwithasoftwareproduct,ortheycanbequicklydownloadedfromaWebsite.

TheHTMLHelpcompilercanalsobeusedfromacommandlinewithoutopeningHTMLHelpWorkshop.

TheHTMLHelpcomponents

Page 129: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

AboutgraphicsandmultimediafilesYourHTMLtopicfilescancontainlinkstographic,sound,video,animation,andothermultimediafiles.LinkstothesefilesaremadeusingthestandardHTMLtagsforeachtypeoffile.HTMLHelpWorkshopalsoincludesagraphicseditingtoolnamedtheHTMLHelpImageEditorthatmakesiteasytotakescreenshotsandaddthemtoyourhelpfiles.Graphicfileshavea.gif,.jpeg,or.pngfilenameextension.Commonmultimediafilenameextensionsare:.au,.avi,.midi,and.wav.

AbouttheHTMLHelpImageEditor

Page 130: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

AbouttheaccessibilitywordlistTheaccessibilitywordlistisalistcontainingwordsthatarecommonlyusedeithertodescribephysicaldisabilitiesorfeaturesinsoftwareprogramsthatassistuserswithdisabilities.Forexample,theaccessibilitywordlistcontainsthewords"blind"and"selectioncursor,adjustingforimprovedvisibility."

Helpauthorscanusethewordlistasaremindertoincludetopicsonallareasofaccessibilityinanydocumentationtheyprovide.Itemsfromthewordlistcanalsobeaddedastableofcontentsentriesoraskeywordstoindexfiles.Thiswillenableuserswithdisabilitiestoeasilyfindtheinformationtheyneedaboutyoursoftwareproduct.

Aboutaccessibilityanddisabilityconcerns

Page 131: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

StartahelpsystemdesignHerearesomesuggestionsforplanningahelpsystemorWebsite:

Determinewhoyouraudienceisand,ifyouwilldistributewithaprogram,whetheryouwanttouseinformationtypestodirecttopicstospecificusers.

Ifyouwilldistributewithaprogram,decidewhetheryouwanttodisplaytopicsintheHelpViewerorcreateyourownframeset.IfyouarecreatingaWebsite,planpagedesigns.ForframesetandWebsitedesign,planwhichdocumentswillcontaintheHTMLHelpActiveXcontrol.

Planadesignforyourtopics,createHTMLtemplatefiles,andbeginwriting.

Planadesignforyourtableofcontentsandindex.

Ifyouwilldistributewithaprogram,designanysecondaryhelpwindowsormodificationstotheHelpVieweryouwanttouse.

Createahelpproject(.hhp)filetomanageyourhelpfiles.

Designingahelpsystem

Page 132: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

ThedifferencebetweentheIndextabandtheSearchtabTheIndextabcontainskeywordsthatyouspecify.Itcancontaintermsforbeginnersandadvancedusers,synonymsforterms,termsthatdescribetopicsgenerally,andtermsthatdescribetopicsspecifically.Theindexprovidesuserswithmanydifferentwaystofindtopics.Themoretermsyouprovide,themorelikelyitisthatuserswilllocatethetopictheyneed.

TheSearchtablistswordsthatappearonlywithinthehelptopics.Tofindatopic,usersmustspecifyawordasitappearsinthehelptopicthey'retryingtofind.TheSearchfeaturewilladjustsomewordendings.Forexample,ifauserenters"creating"whensearchingthehelpfilesforHTMLHelpWorkshop,topicsthatbeginwith"Tocreate"willbefound.

ByusingtheSearchtab,userscanlocateeverytopicthatcontainsaparticularword.Thiscanbeusefultoyouasahelpauthor.Forexample,ifthenameofoneofyourprogram'sinterfaceelementschanges,youcanusetheSearchtabtolocateeveryoccurrenceoftheterminyourhelpfiles.Afteryou'vefoundtheterms,youcaneasilyupdatethem.

AboutcustomizingtheHelpViewer

Page 133: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

GuidelinesforwritingkeywordsAcomprehensivekeywordlistisoneofthemosthelpfulnavigationaltoolsthatyoucanprovideforusers.Itcanhelpthemlocatehelptopicseveniftheyareunfamiliarwiththetermsusedinyourprogram.

Themorekeywordsyouprovideinatopic,themorelikelyitisthatuserswillbeabletofindthetopicthey'relookingfor.It'stypicallybesttoincludeseveraltypesofkeywordsineachtopic,including:

Nontechnicaltermsthatarelikelytooccurtobeginningusers.

Technicaltermsthatarelikelytooccurtoadvancedusers.

Commonsynonymsfortechnicalterms.

Wordsthatdescribethetopicgenerally.

Wordsthatdescribepartofthetopic.

Invertedformsofkeywordphrases—forexample,"combininghelpfiles"and"helpfiles,combining."

Aboutcreatingindexfiles

Page 134: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

AboutcreatinganewiconstripforacontentsfileThefirst8imagesonyournewiconstripshouldcommunicatetheconceptsinthelistbelow.Theorderofthefirst8imagesisimportantbecausetheimageschangetoreflectuseractions.

Forexample,ifyouassigntheClosedItem1icontoatopicinyourtableofcontents,andauserclicksit,theimagewillautomaticallychangetoOpenItem1.

1. ClosedItem1

2. OpenItem1

3. NewClosedItem1

4. NewOpenItem1

5. ClosedItem2

6. OpenItem2

7. NewClosedItem2

8. NewOpenItem2

9. Item3

10. Item4

11. Item5

12. Item6

13. Item7

14. Item8

Notes

Items3through8canconveyanyconceptyouwant,buttheymustbepresentinyourcustomiconstripforthenewimagestodisplaycorrectly.Youmustincludeatlest14imagesinyourcustomiconstrip.

Youarenot,however,limitedto14images.Youcanincludeupto42imagesinyourcustomiconstrip.

Customiconsarenotsupportedinabinarytableofcontents.

Aboutcreatingtableofcontentsfiles

Page 135: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

TomodifytheNavigationpaneintheHelpViewer3. ClicktheNavigationPanetab,andintheWindowtypebox,selecttheHelpViewerbythenameyougaveitinstep2.

4. IfyouwanttochangethedefaultwidthfortheleftpaneoftheHelpViewer,enteranewwidthintheNavigationpanewidthbox.

5. SelecttheOpenwithNavigationpaneclosedcheckboxifyouwantthecompiledhelpfiletoopenwiththeNavigationpaneclosed.

6. SelecttheAutosynccheckboxifyouwanttheheadingortopicintheNavigationpanetoautomaticallysynchronizewithwhatevertopicappearsintheTopicpane.

7. IntheDefaulttabboxchoosewhichtabwillappearintheNavigationpanewhenthehelpfileisfirstopened.

8. IntheTabsarea,selectthetabsthatyouwanttoappearontheNavigationpane.

Notes

TocustomizetheHelpViewer,youmustcreateaanewwindow.Anychangestoyournewwindowarethennotedinthe[WINDOWS]sectionoftheproject(.hhp)file.

YoucanalsocreateawindowwithoutaNavigationpane.

Aboutcreatinghelpwindows

Page 136: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

WorkwithlinksTherearemanycreativewaysforhelpauthorstoprovidejumpsorlinkswithinahelpfileortoresourcesoutsideahelpsystem.ThemostcommonlinksarethosewithinHTMLfiles,fromoneHTMLfiletoanother,ortoaWebsiteorserverlocation.

Youcanalsolinktootherhelpsystemsortomultimediafiles.Youcanaddbuttonsthatlinktotopicsorlocations,orlinktotopicsthatappearinadifferentwindowthanthetopicfromwhichyouarelinking.

Herearesomeofthewaysyoucanlinkinformation:

Createtextlinks.

CreateabookmarktolinkfromonelocationinanHTMLfiletoanotherlocationwithinthesamefile.

CreatealinkfromacontentsorindexentrytoatopiconaWebsite.

Createalinktoanotherhelpfile.

CreateaRelatedTopicslinktootherHTMLfiles.

CreateaKLinkbasedonakeywordyouandotherauthorscreateinyourHTMLfiles.Keywordsalsoappearintheindex.

CreateanALinkbasedonanALinknameyouorotherauthorscreateinyourHTMLfiles.ALinknamesdonotappearintheindex.

Createabuttonthatlinkstoatopic(suchasahomepage),anotherlocation,oranotherfile.

Createalinktoatopicthatopensinadifferentwindow.

AboutcreatingHTMLtopicfiles

Page 137: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

AddbuttonstohelpwindowsIfyouareplanningtocreatecustomwindowsorwindowdefinitions,youcandecidewhichbuttonswillappearonthebuttonbar.

Whatdoyouwanttodo?

Addorremovebuttonsinahelpwindow

Seealistofbuttonsandtheirfunctions

Aboutcreatinghelpwindows

Page 138: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

ModifytheHelpViewerTochangethedefaultcharacteristicsoftheHelpViewer,youneedtodefineawindowtypeforitinyourprojectfile.OnceyouhavegiventheHelpVieweradefinition,youcancustomizeitinthesamewayyouwouldasecondaryorembeddedwindow.

Somecustomizationsaffectjustonepaneofthewindow.Forexample,youcanmakemodificationstotheNavigationpanethataffectwhichtabsappearandwhethertheyappearonthetop,side,orbottomofthewindow.

Whatdoyouwanttodo?

DefineawindowtypefortheHelpViewer

Specifythetitleforahelpwindow

Addorremovebuttonsinahelpwindow

SpecifythesizeandpositionoftheHelpViewerorahelpwindow

Specifyfilelocationsforwindowtypes

ModifytheNavigationpaneintheHelpViewer

Makechangestotheoverallstyleofhelpwindows

AboutcustomizingtheHelpViewer

Page 139: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

AboutchangingthesizeandpositionofawindowTheinformationyoupresentinyourhelptopicsgenerallydetermineshowlargeyourhelpwindowshouldbeandwhereitshouldbeplacedontheuser'sscreen.

YoucaneitherusethedefaultsizeandpositionfortheHelpVieweroryourhelpwindows,orspecifythesizeandpositionthatyouwant.ThedefaultpositionfortheHelpViewerisinthecenteroftheuser'sscreen.Thedefaultpositionforsecondarywindowsisintheupper-rightcorneroftheuser'sscreen.

YourhelpwindowsautomaticallyshiftdownortothelefttopreventanyconflictswiththeWindowstaskbar.Ifyouspecifyasizeand/orpositionforawindow,makesureyouleaveenoughspaceabovethetaskbarwhendesigningyourhelpwindowsizeandposition.

Youmayalsoneedtoadjustyourwindowsizetoensurethatalltabsinthenavigationpanedisplaythewayyouwantthemto.

Aboutcreatinghelpwindows

Page 140: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

DistributehelpovertheInternetHelptopicsdistributedovertheInternetareusuallyaccessedbyuserswhovisitaWorldWideWebsite.TheWorldWideWebisagraphicalsystemofmovingthroughtheInternetusinghyperlinks.AllorpartofaWebsitecancontainhelptopicsthatausercanview,copy,ordownloadtotheircomputer.

HTMLfilesdistributedontheInternetcanpotentiallyreachmillionsofpeoplearoundtheworld.AnyhelptopicsyoupublishtotheWebshouldbedesignedwiththisinmind.Theinformationinthemshouldbeaccessibletoawidevarietyofusers.

Whatdoyouwanttoknowmoreabout?

Settingupinformationtypestoselecttheaudiencethattopicswillbedeliveredto

PlanningforhelpWebsiteupdatingandmanagement

RegisteringyourhelpWebsitewithsearchengines

GettingstartedusingHTMLHelpWorkshop

DistributingtopicsovertheInternet,anintranet,oranextranet

Page 141: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

DistributehelpoveranintranetHelptopicscanbedistributedoveranintranet,whichisacommunicationsnetworkbasedonthesametechnologyastheWorldWideWebthatisavailableonlytopeoplewithinacertainorganizationorcompany.Intranetsareprotectedfromunauthorizedentrancebyafirewall,acomputerthatrefusesentrancetothosewithoutproperaccessprivileges.Allorpartofanintranetsitecancontainhelptopicsthatauserwithaccessprivilegescanview,copy,ordownloadtotheircomputer.

HTMLfilesdistributedonanintranetwillreachonlythosewhocanconnecttotheprivatenetworkonwhichtheyarelocated.Theinformationinthemcanbeconfidentialanddesignedspecificallyforthecompanyororganizationusingtheintranet.

Whatdoyouwanttoknowmoreabout?

Settingupinformationtypestoselecttheaudiencethattopicswillbedeliveredto

PlanningforhelpWebsiteupdatingandmanagement

GettingstartedusingHTMLHelpWorkshop

RegisteringyourhelpWebsitewithsearchengines

DistributingtopicsovertheInternet,anintranet,oranextranet

Page 142: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

DistributehelpoveraextranetHelptopicsdistributedoveranextranetareusuallyaccessedbyuserswhofirstvisitaWorldWideWebsite,andthengainaccesstoanextranetsotheycanusetheconsumerservicesbeingoffered.Extranetsarefrequentlyconnectedtolargedatabasesthatprocesseitherrequestsorinformationfromusers,andthengenerateresponsestothoserequests.

Dependingonhowtheextranetissetup,accesstoitcaneitherbepublicorprivate.Allorpartofanextranetsitecancontainhelptopicsthatuserswithaccessprivilegescanview,copy,ordownloadtotheircomputer.

Helptopicsdevelopedforextranetdistributionwillreachonlythosewhochoosetoconnecttotheextranettoobtaintheservicesbeingoffered.Theinformationinthemshouldbedesignedspecificallyforthecompanyorconsumerusingtheservice.

UsingHTMLHelpWorkshop,youcandesignshortcutbuttonsinhelptopicsthatinteractwithsoftwareprogramsontheextranet.

Whatdoyouwanttoknowmoreabout?

Settingupinformationtypestoselecttheaudiencethattopicswillbedeliveredto

PlanningforhelpWebsiteupdatingandmanagement

GettingstartedusingHTMLHelpWorkshop

RegisteringyourhelpWebsitewithsearchengines

DistributingtopicsovertheInternet,anintranet,oranextranet

Page 143: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

CompileandtesthelpAfteryoubuildyourprojectfileandaddallyourtopic,index,andcontentsfiles,you'llneedtocompileandtestyourhelpsystem.

Whatdoyouwanttodo?

Learnaboutcompilingahelpproject

Learnstrategiesfortestinganddebugginghelpfiles

Decompileahelpfile

TestaKLinksorALinks

Aboutcreatinghelp

Page 144: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

Tocreateanewhelpprojectfile

Page 145: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

ToaddorremoveHTMLtopicfilesfromaprojectfile

Aboutcreatinghelpprojectfiles

Page 146: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

TospecifythelocationofindexfilesNote

Page 147: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

TospecifythelocationofcontentsfilesNotesYoucanalsospecifyhowthecontentsentriesyoucreatewillrespondwhenyousingle-clickordouble-clicktheminHTMLHelpWorkshop.

Aboutcreatinghelpprojectfiles

Page 148: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

TospecifythelocationofimageormultimediafilesNoteAboutcreatinghelpprojectfiles

Page 149: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

Tospecifyalocationforacompiledhelpfile

Page 150: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

Tospecifyalocationforthehelplogfilepath.

NoteAbouthelpprojectsfiles

Page 151: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

TospecifyatitleforacompiledhelpfileAbouthelpprojectsfiles

Page 152: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

TospecifythedefaultHTMLtopicfileforacompiledhelpfileAboutcreatinghelpprojectfiles

Page 153: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

TospecifythelanguageforthehelpfileAbouthelpprojectsfiles

Page 154: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

TohidecompilermessagesTheprogressreportincludesthenameofeachHTMLfileasitisprocessed.

Aboutcompilingahelpproject

Page 155: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

TomovetopicstotherootduringcompileNotesFilenamingisimportantwhenusingthisfeature.Filesindifferentfoldersthathavethesamenamewillnotcompileproperlywhenconsolidatedattheroot.

Aboutcompilingahelpproject

Page 156: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

ToautomaticallyloadthelastprojectfileyouworkedonAboutcreatinghelpprojectfiles

Page 157: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

ToenablesoundinHTMLHelpWorkshopAboutcreatinghelpprojectfiles

Page 158: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

TochangethefontwhenviewingthecompilermessagelogAboutcreatinghelpprojectfiles

Page 159: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

Tosetactionstotakewhensingle-ordouble-clickingacontentsentry

Page 160: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

Tosetactionstotakewhensingle-ordouble-clickinganindexentry

Page 161: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

CreatingtextlinksYoucancreateatextlinktojumpfromoneHTMLfiletoanotherinyourhelpproject,orfromanHTMLfiletoanexternalWebsiteorserverlocation.Atextlinkcanconsistofonecharacterorseveralparagraphs,butauthorstypicallylimitthemtoawordorashortphrase.

IfyouusethedefaultsettingforHTMLHelpWorkshop,textlinksappearinabrowserasunderlined,coloredtext;theoriginalcolorchangesafterauserclicksthelink.

Whatdoyouwanttodo?

AddatextlinktoanHTMLfile

Assignanalternatelocationforacontentsorindexentry

Addabookmarklinktoafile

CreateatextlinkforHTMLHelpActiveXcontrolcommands

Assignawindowtypetoatopicwhenlinking

Aboutworkingwithlinks

Page 162: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

ToconvertanexistinghelpprojecttoanHTMLHelpproject4. SpecifyalocationandnameforthenewHTMLHelpprojectyouarecreating,clickNext,andthenclickFinish.

Notes

Allthefilesreferencedbytheexistinghelp(.hpj)filemustbeinthelocationsspecifiedortheconversionprocesswillfail.

HTMLHelpWorkshopconvertsonlycompleteprojectsorganizedinaWinHelpprojectfile.Itwillnotconvertindividualormultipletopicfiles.

Aboutconvertingexistinghelpprojects

Page 163: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

ConvertingexistinghelpprojectsMicrosoftHTMLHelp1.3isthenext-generationonlineauthoringsystemfromMicrosoftCorporationandisbasedonMicrosoftWinHelp4.0.Ifyou'veusedWinHelporHelpWorkshopbefore,youwillbefamiliarwithmanyofthefeaturesofHTMLHelpandHTMLHelpWorkshop.

LikeWinHelp,HTMLHelpusesaprojectfiletocombinetopic,contents,index,image,andothersourcefilesintoonecompiledhelpfile.HTMLHelpalsoprovidesyouwithHTMLHelpWorkshop,anauthoringtoolthatmakesiteasytoview,manage,andedityourfilesinanenhanceduserinterface.UnlikeWinHelp,HTMLHelphasnopracticalhelpsystemlimits.Helpfilesize,topicsize,contentsentrylimits,andkeywordlimitshaveallbeeneliminated.

HTMLHelpWorkshophasafeaturethatallowsyoutoeasilyconvertanexistingWinHelpprojectintoanHTMLHelpproject.

IntroducingHTMLHelp

Page 164: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

AbouttheoverviewtopictemplateTheoverviewtopictemplatecanbeusedforoverviewtopicsthatintroduceordescribegeneralconcepts.

Youcancopythisexampleandaddformattingelementstoitforyourhelpsystem.

Example:Helpauthoringtemplates

Page 165: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

AboutthedecisiontopictemplateTheDecisiontopictemplatecanbeusedfortopicsthatbrieflyintroduceconcepts,andthenlistlinkstoproceduresausermightwanttoperform.

Youcancopythisexampleandaddformattingelementstoitforyourhelpsystem.

Example:Helpauthoringtemplates

Page 166: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

AbouttheproceduretopictemplateThemulti-stepproceduretemplatecanbeusedforstep-by-steptopicswherethereismorethanonestepintheprocedure.

Youcancopythisexampleandaddformattingelementstoitforyourhelpsystem.

Example:Helpauthoringtemplates

Page 167: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

Abouttheone-stepproceduretopictemplateTheone-stepproceduretopictemplatecanbeusedforproceduretopicsthathaveonlyonestep.

Youcancopythisexampleandaddformattingelementstoitforyourhelpsystem.

Example:Helpauthoringtemplates

Page 168: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

Aboutthesource-codeexampletopictemplateThesource-codeexampletopictemplatecanbeusedfortopicsthatincludeexamplesofHTMLsourcecode.

Youcancopythisexampleandaddformattingelementstoitforyourhelpsystem.

Example:Helpauthoringtemplates

Page 169: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

LinkastylesheettoanHTMLfileYoucanincludestylesheetinformationinanHTMLfileintwoways:

Includestylesheetinformationbetweenthe<STYLE>startandendtagsinsidethefile.

Theformattingappearsthesamewitheithermethod.IfyouaremanagingalargehelpsystemorWebsite,theadvantagetousinganexternalstylesheetisthatthesamestylescanbeusedbymanydifferentfiles,withoutduplicatingtheinformationbetweenthe<HEAD>startandendtagsofeveryfile.

Whatdoyouwanttodo?

Linktoanexternalstylesheet

IncludethestylesheetinformationinanHTMLfile

Aboutusingcascadingstylesheets

Page 170: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

ToapplyastyletoaphraseinanHTMLfile<SPANSTYLE="{font-family:times;font-size:12pt;background:yellow;color:red;}">Spanthisphrase</SPAN>

Inthisexample,thefont,andbackground<STYLE>tagattributeswillbeappliedtothetextSpanthisphrase.

Note

Thisallowsahelpauthortoformatindividualphrases,words,orletters.

Aboutusingcascadingstylesheets

Page 171: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

Tolinktoanexternalstylesheet<LINKREL="stylesheet"TYPE="mime/type"HREF="url">

wherethevalueREL="stylesheet"indicatesthatthetargetsourceisastylesheet,mime/typeistheMIMEtypeforthestylesheet,andurlistheaddressofthestylesheetfile.

Note

EachstylesheethasitsownMIMEtype.CascadingstylesheetshavetheMIMEtypetext/css.

Aboutusingcascadingstylesheets

Page 172: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

ToincludeastylesheetinanHTMLfileHereisanexampleofastylesheetcreatedthisway:

<STYLE>BODY{font-family:times,serif;color:black;margin-left:10%;margin-right:10%;}A:link{color:black;text-decoration:underline;}A:visited{color:black;text-decoration:none;}</STYLE>

Aboutusingcascadingstylesheets

Page 173: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

Example:InternetExplorer3.02cascadingstylesheet/*MicrosoftHTMLHelpWorkShopCSS*/

body{font-size:75%;font-family:Verdana,Arial,Helvetica,Sans-Serif;}a:link {background:transparent;color:#0000FF;}a:visited{color:#800080;}

h1{font-weight:bold;font-size:55%;margin-bottom:-2.2em;}

li{margin-top:4pt;}ulli{padding-top:4pt;}olli{padding-bottom:4pt;}ul{margin-left:-15pt;margin-top:-7em;}ol{margin-left:-15pt;margin-top:-7em;}olul{margin-top:0em;list-style:disc;}code{font-family:Courier;}pre{font-family:Courier;}table{width:auto;text-align:left;font-size: 75%;font-size:+12;}th{text-align:left;}td{margin-right:0em;}img{margin-top:-4pt;}

/*Overviewheading*/h5.overh{font-size:120%;}h5{font-size:100%;}

/*Procedureheading*/h5.proch{font-size:100%;}

/*Decisionheading*/h5.what{font-size:100%;color:#993399;}

/*Note&Tipheading*/h5.note{font-size:95%;}

Note

Becauseofchangestocascadingstylesheetspecifications,stylesheetsthatworkonMicrosoftInternetExplorer3.02maynotworkonInternetExplorer4.0.

Aboutusingcascadingstylesheets

Page 174: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

Example:InternetExplorer4.0cascadingstylesheet/*CascadingStyleSheetforIE4.0build1008+*/

body{font-size:75%;line-height:125%;font-family:Verdana,Arial,Helvetica,}a:link{color:#0000FF;}a:active{color:#FF33CC;}a:visited{color:#800080;}h1{font-size:145%;margin-bottom:.5em;}

h2{font-size:125%;margin-top:1.5em;margin-bottom:.5em;}h3{font-size:110%;margin-top:1.2em;margin-bottom:.5em;}p{margin-top:0pt;margin-bottom:0pt;}lip{margin-top:.6em;margin-bottom:0em;}big{font-weight:bold;font-size:105%;}ol{margin-top:.5em;margin-bottom:0em}ul{margin-top:.6em;margin-bottom:0em;margin-left:2.75em;}olul{list-style:disc;margin-top:2em;}li{padding-bottom:.7em;margin-left:-1.25em;}dlul{margin-top:2em;margin-bottom:0em;}/*listiteminsideadef/term*/dl{margin-top:-1em;}oldl{margin-top:-1.5em;margin-left:0em;}/*term/deflistinsideanumberedlist*/oldldl{margin-top:0em;margin-left:.2em;}/*term/deflistinsideaterm/deflist*/dd{margin-bottom:0em;/*notcurrentlyworking*/margin-left:1.5em;}dt{padding-top:2em;font-weight:bold;margin-left:1.5em;}code{font-family:Courier;}pre{margin-top:0emmargin-bottom:1.5em;font-family:Courier;font-size:125%}table{font-size:100%;margin-top:1em;margin-bottom:1em;}th.center{text-align:center;}th{text-align:left;background:#dddddd;margin:3pt;vertical-align:bottom;}tr{vertical-align:top;}td{margin:3pt;vertical-align:top;}

/*IE4.0TAGS*/p.dis{font-size:6pt;}h5{}h5.active{background:#000000; color:#FFCC99;}

/*--subheading--*/h5.subh {color:#660000;margin-bottom:-1em;margin-top:1.5em;}

Page 175: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

/*--Overviewheading--*/h5.overh{font-size:120%;margin-bottom:1%;}

/*--procedureheading--*/h5.proch{margin-bottom:4pt;}

/*--topicheading--*/h5.topich{margin-bottom:-1em;}

/*--Decisionheading--*/h5.what{color:#993399;margin-bottom:.4em;}

/*--note'n'tipheading--*/h5.note{margin-top:1em;margin-bottom:0em;}

/*--relatedtopicsheading--*/h5.relh{margin-top:2.25em;margin-bottom:-1em;}

Note

Becauseofadvancesincascadingstylesheettechnologyandspecifications,stylesheetsthatworkonMicrosoftInternetExplorer4.0willnotworkonInternetExplorer3.02.

Aboutusingcascadingstylesheets

Page 176: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

Toopenacompiledhelpfilefromacontentsorindexentrycontentsorindexlink.

4. ClickAdd,andthen,intheFileorURLbox,typethenameofthecompiledhelp(.chm)file.

Notes

Whenauserclicksthelinkadialogboxwillappearthatgivesthemtheoptionofsavingthecompiledhelpfiletotheirharddiskoropeningitfromthedirectorywhereit'slocated.

Ifthecompiledhelpfileyouarelinkingtoisinadifferentdirectorythanthetopicyouarelinkingfrom,youwillneedtoenterthepathtothecompiledhelpfileintheFileorURLbox.Forexample,ifthehelpfileislocatedinadirectoryontheWeb,youwouldneedtoenterthefullURLincludingtheHTTPaddress,<AHREF="http://www.sample.com/example.chm">

Aboutcreatingalinktoanothercompiledhelpfile

Page 177: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

TolinktoatopicinacompiledhelpfilefromaWebpageortopicfilewherefilename.chmisthenameofthecompiledhelpfileandtopic.htmisthenameoftheHTMLfiletowhichyouwanttolink.

3. Makesurethatthecompiledhelpfileyouwanttolinktoislocatedinthesamedirectoryasthefileyouarelinkingfrom.

Notes

Usethisprocedureifyouwanttopullasingletopicfromacompiledhelpfile.Youcanalsocreatealinkthatwilldownloadtheentirehelpfile.

TheMS-ITSprotocolworkswithMicrosoftInternetExplorer4.0orlater.IfyourusersarerunningInternetExplorer3.0,theyneedtousethefollowingprotocol,whichalsoworkswithlaterversionsofthebrowser:mk:@MSITStore:filename.chm::/topic.htm.

IfyouwanttolinktoacompiledhelpfilethatislocatedinadirectoryontheWeb,youneedtoprovidethefullURLincludingtheHTTPaddress.Forexample,ms-its:http://www.sample.com/filename.chm::/topic.htm.

Aboutcreatingalinktoanothercompiledhelpfile

Page 178: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

Tolinkfromacontentsorindexentrytoatopicinanothercompiledhelpfilems-its:filename.chm::/topic.htm

wherefilename.chmisthenameofthecompiledhelpfileandtopic.htmisthenameoftheHTMLfiletowhichyouwanttolink.

3. Makesurethatthecompiledhelpfileyouwanttolinktoislocatedinthesamedirectoryasthefileyouarelinkingfrom.

Notes

TheMS-ITSprotocolworkswithMicrosoftInternetExplorer4.0orlater.IfyourusershaveInternetExplorer3.0installed,theyneedtousethefollowingprotocol,whichalsoworkswithlaterversionsofthebrowser:mk:@MSITStore:filename.chm::/topic.htm.

IfyouwanttolinktoacompiledhelpfilethatislocatedinadirectoryontheWeb,youneedtoprovidethefullURLincludingtheHTTPaddress.Forexample,ms-its:http://www.sample.com/filename.chm::/topic.htm.

Aboutcreatingalinktoanothercompiledhelpfile

Page 179: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

TolinkfromatopicinaWinHelpfiletoatopicinanHTMLHelpfilewhere!execfileisthenameoftheWinHelpmacro,hh.exeistheHTMLHelpexecutablefile,filename.chmisthenameofthecompiledhelpfileandtopic.htmisthenameoftheHTMLfile.

2. Makesurethatthecompiledhelp(.chm)fileyouwanttolinktoislocatedinthesamedirectoryastheWinHelpfileyouarelinkingfrom.

Notes

IfyoudonotneedtolinktoaspecifictopicintheHTMLHelpfile,omit::/topic.htmfromthesyntax.

Usingthe!ifmacro,youcanalsocheckthereturnvalueofthe!execfilemacroanddisplayanalternatetopicifthecompiledhelpfilecouldnotbeloaded.

TheMS-ITSprotocolworkswithMicrosoftInternetExplorer4.0orlater.IfyourusershaveInternetExplorer3.0installed,theyneedtousethefollowingprotocol,whichalsoworkswithlaterversionsofthebrowser:mk:@MSITStore:filename.chm::/topic.htm.

IfyouwanttolinktoacompiledhelpfilethatislocatedinadirectoryontheWeb,youneedtoprovidethefullURLincludingtheHTTPaddress.Forexample,ms-its:http://www.sample.com/filename.chm::/topic.htm.

Aboutcreatingalinktoanothercompiledhelpfile

Page 180: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

AboutworkingwithALinksWhenyoucreateAssociativelinks(ALinks),youneedtofirstaddALinknamestothetopicsthatarethetargetsforthelink.ThenyouaddtheALinkobjecttothetopicsyouwanttolinkfrom.

Forexample,addtheALinknamepilottoseveraltargettopics.ThenaddtheALinkobject,withpilotspecifiedintheALinknamesearch,toatopicyouwantlinkedtotheothertopics.TheAlinknamepilotwillappearinthelistoftargettopicswhenauserclickstheALinkinthetopiccontainingtheALinkobject.

YoucanuseanALinktojumptotopicsinthesameorotherhelpfiles.TheALinktargetlistwillappearinaTopicsFounddialogboxwhentheuserclicksthelink.Youcanchangethissothatthetargetlistappearsonapop-upmenu.FordetailedinformationaboutALinks,seetheHTMLHelpActiveXcontrolreference.

WorkwithALinks

Page 181: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

TocreateanALinkinatopicthatlinkstoatargetfilechoosetheappropriatedisplaytypeandbuttonoptions.

4. IntheRelatedTopicsdialogbox,specifytheALinknamesyouwanttojumpto.

5. FormoreinformationaboutALinks,seetheHTMLHelpActiveXcontrolreference.

Notes

YoumustaddALinknamestotheappropriatetargettopicsbeforetheALinkwillwork.

AddinganALinktoanHTMLfileaddsan<OBJECT>tagtoyourfile.ThisallowsyoutolinktoanyotherfilesthatcontaintheALinknamesyouspecify.WhenauserclickstheALink,anytopicsthatcontaintheALinknamesyouhavespecifiedwillappear.

YoucantestALinksincompiledhelpfiles.

Aboutworkingwithlinks

Page 182: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

ToaddanALinknametoatargetHTMLfile3. OntheEditmenu,clickCompilerInformation,andthenclicktheALinkNamestab.

4. ClickAdd,andthenenteranyALinknames.Youcanaddmultiplenamesbyseparatingeachnamewithasemicolon.

Notes

Thisaddsan<OBJECT>tagwiththeALinknamesyouhaveaddedtoyourHTMLfile.ThefileisnowatargetfileandyoucancreateanALinkfromanotherHTMLfiletoit.

YoucantestALinksincompiledhelpfiles.

FormoreinformationaboutALinks,seetheHTMLHelpActiveXcontrolreference.

Aboutworkingwithlinks

Page 183: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

TotestKLinksorALinks3. Ifyouwantthetopicsyouaretestingtoappearinawindowtypeotherthanthedefaultwindow,specifythenameofthewindowtypeintheWindownamebox.

4. IfyouwanttoincludeALinknamesinthetest,selecttheUseALinknamescheckbox.

5. ClickAdd,typeanykeywordsandALinknames,andthenclickTest.

Note

ThisprocedureisusefulwhenyouneedtotestwhetherKLinkkeywordsandALinknameshavebeenaddedcorrectlytotargetfilesandwhethertheKLinkorALink<OBJECT>taghasbeenaddedtothefilesyouwanttolinkfrom.

Testinghelpfiles

Page 184: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

Toassignanalternatelocationforacontentsorindexentry

Note

atthetimeyourhelpcontentshipswillbeavailableonaWebsite.Youcanaddaplaceholdertopicthatwilllinktothealternatelocation.

Aboutworkingwithlinks

Page 185: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

AboutbinarycontentsfilesYoucanreducethetimeittakestoloadaverylargetableofcontentsbycreatingabinarycontentsfile.Abinarytableofcontentsispopulatedbasedonuserdemand.Forexample,inatableofcontentswhereabookislocatedwithinanotherbook,thesecondlevelbookwillnotbepopulateduntilauserclicksit.

Thebinaryformat,however,hasaverylimitedsetofauthoringfeatures.Forexample:

Onlybookandpageiconsaresupported.

Customiconsarenotsupported.

Informationtypesarenotsupported.

Youcannotauthoratableofcontentslinktoopenatopicinadefaultwindowordefaultframe.

Youcannotmodifywindowstyles.

Aboutmanaginglargedocumentsets

Page 186: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

Tospecifythedefaultframeinacontentsorindexfile3. IntheDefaultframebox,typetheHTMLframenamewhereyourpageswilljump.

Notes

TheframeyouspecifymustbedefinedinanHTMLdocument.

YoudonotneedtocreateyourownframesetifyouplantousetheHelpViewertodisplayyourcontent.

Aboutcreatingtableofcontentsfiles

Page 187: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

TocreateanewcontentsfileNotesTochangeanentry,clickEditSelection.BeforeyoucandisplayacontentsfileintheHelpViewer,youneedtoaddittothehelpprojectfile,andthencompiletheproject.

Aboutcreatingtableofcontentsfiles

Page 188: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

EditorupdateatableofcontentsOnceyoucreateatableofcontentsyoucaneditorupdatetheentriesandhowtheyappeartotheuser.

Whatdoyouwanttodo?

Usecustomimagefilesinacontentsfile

Createnewimagesforacontentsfile

Assignaninformationtypetoacontentsentry

Flaganewtableofcontentsentry

Changeatableofcontentsentrylevelfromafolderorbooktoapage

Assignawindowtypetoacontentsorindexentry

Assignanalternatelocationfortopics

Aboutcreatingtableofcontentsfiles

Page 189: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

ChangeorcreateiconsforcontentsentriesBydefault,HTMLHelpWorkshopprovidesabookiconformaintopicsandaquestionmarkiconforsubtopics.Aspecialiconisavailabletoflagtopicsasnew.Youcanchangethesedefaulticonstooneofseveralotherstandardiconimagesorcreateyourownicons.

Whatdoyouwanttodo?

Useanewiconstripinacontentsfile

Applyanicontoacontentsentry

Flaganewtableofcontentsentry

Createanewiconstripforacontentsfile

Createacontentsfile

Aboutcreatingtableofcontentsfiles

Page 190: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

ToaddatextlinktoanHTMLfile<AHREF="filename.htm">link</A>

wherefilenameisthenameofthefileyouwantthelinktojumptoandlinkisthetextyouwantausertoclick.

Aboutworkingwithlinks

Page 191: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

AboutcustomizingatableofcontentsTherearemanywaystocustomizehowcontentsentriesintheNavigationpaneappear,andhowthepaneitselfappears.Forexample,youcan:

providedforyourcontentsentries.

Addaborder,plusorminussquares,asunkenedge,orotherdesignelementstoyourcontentswindow.

ChangethewidthoftheNavigationpane.

Haveyourtableofcontentsdisplayonlyheadinglevelentriesorallentrieswhenauserfirstopensit.

HavetheHelpViewerautomaticallydisplaytheContentstabwhenauserfirstopensit.

ChangewhethertheContents,Index,andSearchtabsappearatthetop,bottom,orsideoftheNavigationpane.

IfyoudesignforaWebsiteoryourownframeset,youcanaddHTMLdesignelementstocustomizethefileorframeyouaddtheHTMLHelpActiveXcontrolto.Youcanthenspecifytheframenameyouwantyourpagestojumpto.

Customizeatableofcontents

Page 192: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

TocustomizetheappearanceofacontentsfileCustomizeatableofcontents

Page 193: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

CreateanindexfileYoucreateanindexbyusingHTMLHelpWorkshoptocreateanindex(.hhk)file.Youthenaddkeywordstotheindexfile.

Whatdoyouwanttodo?

Learnmoreaboutcreatingindexfiles

Createanewindexfile

Createkeywords

Editoraddupdatestoanexistingindexfile

LearnaboutthedifferencebetweentheIndextabandtheSearchtab

Aboutcreatingindexfiles

Page 194: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

Tosetanindexkeywordtojumptoanotherkeyword3. ClicktheGeneraltab,andthenclickEdit.4. IntheFileorURLbox,typethekeywordyouwanttojumpto,andthen

clickOK.

Note

Thisisusefulforcreatingcross-references,suchasSeeAlsoindexentries.

Aboutcreatingindexfiles

Page 195: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

Tosetanindexkeywordtobeinactive3. ClicktheGeneraltab,andthenclickEdit.4. IntheFileorURLbox,replacethefilenameorURLwiththekeyword

exactlyasitappearsintheKeywordbox,andthenclickOK.

Note

Thissetsanindexentrytojumptoitself,creatingtheappearanceofaninactivelink.

Aboutcreatingindexfiles

Page 196: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

TocreateanindexthatusesasitemapIfyouareauthoringanindexforaWebsite,makesureyouaddtheHTMLHelpActiveXcontroltothetopicfilesyouwanttheindextoappearin.SpecifyIndexasthecommand,andthenspecifythenameandlocationforyourindexfile.

AnindexcompiledusingthebinaryformatwillnotworkonaWebsite.YoucanuseasitemapindexforbothaWebsiteandacompiledhelpfile.

Ifyoucompileahelpfileandsetthecompatibilitytoversion1.0,asitemapindexwillbecreated.

Aboutcreatingindexfiles

Page 197: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

TocompileaprojectcompatiblewithHTMLHelpversion1.0Notesversionoftheindexwhentheprojectfileiscompiled.Italsodisablesthemergefeature.Ifmorethanonecompiledhelpfileisreferenced,indexes,Keywordlinks(KLinks),Associativelinks(ALinks),andfull-textsearchlistsarenotmerged.

Aboutcompilingahelpproject

Page 198: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

CreatekeywordsforabinaryindexAbinaryindexisautomaticallygeneratedwheneveryoucompileanindexintoacompiledhelp(.chm)file.YoucancreatekeywordseitherbyaddingthemtotheindexfileorasKeywordlinks(KLinks)thatareaddedtotargetfiles.

KeywordsintheindexwillbemergedwithanythatyouhaveaddedtoHTMLfileswhentheindexiscompiled.Ifyouaremergingindexesfrommultiplecompiledhelpfiles,besuretoconsiderhowtomanagetheindexfilesinthecollection.

Notes

Binaryindexesareautomaticallysortedbythecompiler.

Abinaryindexwillnotbecreatedifyouselect1.0astheversionintheCompatibilitybox,ontheCompilertab,intheProjectOptionsdialogbox,oriftheCreateabinaryindexcheckboxiscleared.

Whatdoyouwanttodo?

Createakeywordwithmultipletargets

Tosetanindexkeywordtojumptoanotherkeyword

Createabinaryindex

Learnaboutthedifferencebetweenbinaryandsitemapindexes

Aboutcreatingindexfiles

Page 199: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

CreatekeywordsforasitemapindexAsitemapindexisautomaticallygeneratedwheneveryoucreateanindex(.hhk)fileanddonotcompileit.Youcreatekeywordsbyaddingthemtotheindexfile.

Youhavecompletecontroloverhowasitemapindexissortedandcaneditandcreatecustomsortordersforyourindex.

Notes

Keywordlinks(KLinks)andAssociativelinks(ALinks)arenotavailablewhenyouuseasitemapindex.

Asitemapindexwillalsobecreatedifyouselect1.0astheversionintheCompatibilitybox,ontheCompilertab,intheProjectOptionsdialogbox.

Whatdoyouwanttodo?

Createakeywordwithmultipletargets

Setanindexkeywordtojumptoanotherkeyword

Learnaboutthedifferencebetweenbinaryandsitemapindexes

Aboutcreatingindexfiles

Page 200: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

ThedifferencebetweenbinaryandsitemapindexesTherearetwotypesofindexesavailableforhelpauthorstouse,abinaryindexorasitemapindex.Eachtypeofindexhasitsownuniquefeatures.

Page 201: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

BinaryindexThistypeofindexisusedonlywithcompiledhelp(.chm)files.Thefollowingaresomecharacteristicsabinaryindex:

Goodforlargeindexesbecauseitscompiledsizeisverysmall.

Isautomaticallysortedduringcompile.Ahelpauthorcannotcustomizehowabinaryindexissorted.

Canbemergedwithotherindexes.Allindexesarethensortedatcompiletimeasone.

CanbeusedwithKLinkstocreatelinkstospecifictopics.

WillautomaticallymergekeywordsaddedtoHTMLfileswithKeywordlinks(KLinks)addedtotheindexfile.

Page 202: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

sitemapindexThistypeofindexmustbeusedwhenauthoringanindexforaWebsite.Itcanalsobeusedwithcompiledhelpfiles.Thefollowingaresomecharacteristicsofasitemapindex:

WorksonaWebsite.

Helpauthorhascompletecontroloverhowtheindexissorted.

Workswithoutbeingcompiled(butcanalsobecompiled).

SameindexcanbeusedforWebsiteandcompiledhelpfile.

Isbettertousewithsmallerindexesbecausesitemapindexesarelargerthanbinaryindexes.

Keywordsarenotmergedwithotherindexesorsortedduringcompile.

KLinksdonotworkwithsitemapindexes.

Note

Themethodyouuseforcreatingkeywordsdependsonwhetheryouarecreatinganindexthatwillbeusedinacompiledhelpfile,onaWebsite,orinasituationwheretherearemultipleindexes.

Aboutcreatingindexfiles

Page 203: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

AbouttheHiddeninformationtypeYoucandefineaHiddeninformationtypetoidentifyorgrouptopicswhenaprogramisstarted,beforeauserseesthem.Youselectwhichtopicswillappearbasedontheelementsoftheprogramthatareactive.Hiddeninformationtypesareneverseenbyusers;theyareinsteadcontrolledbytheprogram.

Thisfeatureallowsprograms,throughtheHTMLHelpAPIorthroughhostingtheHTMLHelpActiveXcontrol,todeterminewhatinformationispresentedtotheuser.TheHiddeninformationtypeattributealsodetermineswhichURLsshouldbelinkedtowhentheyareassociatedwithaninformationtype.

Note

Version1.1ofHTMLHelpWorkshopallowsyoutoauthortopicsthatusetheHiddeninformationtypeattribute.TheabilitytoinvokethemthroughtheHTMLHelpAPIhasnotyetbeenimplemented.

Aboutassigninginformationtypes

Page 204: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

AboutcreatinginformationtypesInformationtypesenableyoutospecifythatcertaingroupsofhelptopicsreachcertainusers.Usethefollowingstepswhencreatinginformationtypes.

First,defineinformationtypesbasedonyourintendedaudience.Forexample,tocreatethehelpfilesforthisversionofHTMLHelpWorkshopwedefinedtheseinformationtypes:Reference,Design,Overview,Procedure,andWeb.TheReferencetypewasassignedtoReferencetopics,theDesigntypetotopicsaboutdesigningahelpsystem,etc.

Second,assigneitheranInclusive,Exclusive,orHiddenattributetoeachinformationtype.WhentheattributeisInclusive,theuserisallowedtoselectfromoneormoreInclusiveinformationtypeswithineachcategory.WhentheattributeisExclusive,theusercanselectonlyoneinformationtypefromeachcategory.WhentheattributeisHidden,thetopiccanonlybeinvokedthroughtheHTMLHelpAPIandbeassociatedwitheventsinthesoftwareprogram.

Forexample,ahelpauthorcreatesNovice,Intermediate,andAdvancedinformationtypesthathavetheInclusiveattribute.AuserwillbegiventhechoicetoviewallNovice,Intermediate,andAdvancedtopics.IftheNovice,Intermediate,andAdvancedinformationtypeshavetheExclusiveattribute,auserwillonlybeabletoselecttopicsfromoneofthethreetypes.

Notes

Ifatopichasnoinformationtypeassociatedwithit,itwillalwaysappear.

Categoriesareoptional,ifyouusethem,youmustassignallinformationtypestoacategory.

TopicswiththeHiddeninformationtypewillnotappearwhenausermakestheirselections.

Ifusedwithasetofmergedcompiledhelp(.chm)files,informationtypesshouldbestandardizedinallthefilesinthecollection.

Informationtypesarenotsupportedwhenusingabinarytableofcontents.

Createinformationtypes

Page 205: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

Todefineinformationtypeswhennotusingcategories4. IntheDescriptionbox,typeadescriptionoftheinformationtype.Thedescriptionisimportantbecauseitisviewedbytheuserinthewizardthatwalksthemthroughinformationtypeselection.

5. ClickeitherInclusiveTypeorExclusiveTypetoassignaninformationtypeattribute.

Notes

Youmaywanttomakeabackupcopyofyourcontentsfilebeforeyouaddinformationtypestoit.

Afteryoudefineinformationtypes,youcanassignthemtoatableofcontentsentry.

Youcancreateupto32separateinformationtypes.Thenameforaninformationtypecannotexceed255characters.

Ifusedwithalargecollectionofmergedcompiledhelp(.chm)files,informationtypesshouldbestandardizedinallthefilesinthecollection.

Informationtypesarenotsupportedwhenusingabinarytableofcontents.

Aboutassigninginformationtypes

Page 206: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

Todefinecategoriesandinformationtypes4. IntheDescriptionbox,typeadescriptionforthecategory.Descriptionsforcategoriesandinformationtypesareimportantbecausetheyareviewedbytheuserinthewizardthatwalksthemthroughinformationtypeselection.

5. IntheInformationtypenamebox,typethenameoftheinformationtypeyouwant(forexample,Advanced).

6. IntheDescriptionbox,typeadescriptionoftheinformationtype.Forexample,"topicsforadvancedusers."

7. ClickeitherInclusiveTypeorExclusiveTypetoassignaninformationtypeattribute.

Notes

Youmaywanttomakeabackupcopyofyourcontentsfilebeforeyouaddinformationtypestoit.

Afteryoudefineinformationtypes,youcanassignthemtoatopic.

Youcancreateupto10categoriesand32separateinformationtypes.Thenameforaninformationtypecannotexceed255characters.

Categoriesareoptional,ifyouusethem,allinformationtypesmustbeaddedtoacategory.

Ifusedwithalargecollectionofmergedcompiledhelp(.chm)files,categoriesshouldbestandardizedforallthefilesinthecollection.

Informationtypesarenotsupportedwhenusingabinarytableofcontents.

Aboutassigninginformationtypes

Page 207: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

ToassignaninformationtypetoacontentsentryNotesinformationtypesshouldbestandardizedinthetableofcontentsforallthefilesinthecollection.

Informationtypesarenotsupportedwhenusingabinarytableofcontents.

Aboutassigninginformationtypes

Page 208: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

AboutinformationtypeattributesAninformationtypecanbeeitherInclusiveorExclusive.IfyouselecttheInclusiveinformationtype,theuserwillbeallowedtoselectfromoneormoreinformationtypes.IfyouselectExclusive,theuserwillbeallowedtochooseonlyoneinformationtypewithineachcategory.

Notes

DefineallInclusiveinformationtypesbeforeyoudefineExclusiveones.

Informationtypesinthesamecategorycan'tbebothInclusiveandExclusive.

Aboutassigninginformationtypes

Page 209: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

AboutmakinginformationtypeselectionavailabletousersIfyouassigninformationtypestoanytopicsinthetableofcontents,theusercancustomizewhichtopicstheysee.Theycandothisbyopeningacompiledhelpfile,clickingontheContentstab,andthenright-clickinganywhereintheNavigationpaneoftheHelpViewer.

AnotherwaytoprovideinformationtypeselectionforusersistoaddanOptionsbuttontoanysecondarywindowsyoucreate.TheuserclickstheOptionsbuttononthebuttonbar,andthenclicksCustomize.

Aboutassigninginformationtypes

Page 210: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

Toremovecategoriesandinformationtypes3. Deletethe<OBJECTtype="text/siteproperties">tag,deletealltheinformationtypeslisted,anddeletethe</OBJECT>endtagfromthefile.

4. Deletethe<paramname="Type"value=>tagsfromeachtableofcontentsentrythataninformationtypeisassignedto.

Aboutassigninginformationtypes

Page 211: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

AboutcreatingcategoriesforinformationtypesItisnotrequiredthatyoucreatecategoriesforinformationtypes.Ifyouusethem,anyinformationtypesyoucreatemustbeassignedtoacategory.Besuretoplanaheadbecausetheyaredifficulttoremoveonceyouaddthemtoahelpproject.Followthesestepswhencreatingcategories:

First,determineandnamecategoriesthatbestdescribeandgrouptheinformationtypesyouneed.Forexample,youmightcreatetwocategoriesforgroupingtopics:JobDescriptionandExperienceLevel.

Next,defineinformationtypesforgroupingtopicsinthosecategoriesbasedonyourintendedaudience.Forexample,forthecategoryJobDescription,youmightdefinethreeinformationtypes:Manager,Salesperson,andEngineer.ForthecategoryExperienceLevel,youmightalsodefinethreeinformationtypes:Novice,Intermediate,andAdvanced.

Third,assigneitheranInclusiveorExclusiveattributetoeachinformationtype.WhentheattributeisInclusive,theuserisallowedtoselectfromoneormoreInclusiveinformationtypeswithineachcategory.WhentheattributeisExclusive,theusercanselectonlyoneinformationtypefromeachcategory.

Forexample,iftheNovice,Intermediate,andAdvancedinformationtypeshavetheInclusiveattribute,auserwillbegiventhechoicetoviewallNovice,Intermediate,andAdvancedtopics.IftheNovice,Intermediate,andAdvancedinformationtypeshavetheExclusiveattribute,auserwillonlybeabletoselecttopicsfromoneofthethree.

Notes

Ifatopichasnoinformationtypeassociatedwithit,itwillalwaysappear.

Youcanassignmorethanoneinformationtypetoatopic.

Youcanonlyassigninformationtypestoatableofcontentsentry.

Ifusedwithalargecollectionofmergedcompiledhelp(.chm)files,categoriesshouldbestandardizedforallthefilesinthecollection.

Createcategoriesforinformationtypes

Page 212: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

AutomaticallyhidingtheNavigationpaneYoucandesignyourcompiledhelp(.chm)filesothattheNavigationpaneisautomaticallyhiddenwhenauserclicksoutsideoftheHTMLHelpViewer.Thisallowstheusertoseemoreofthescreenwhenworkinginasoftwareprogram.Whentheuserclicksinsidethehelptopic,theNavigationpaneisreopened.

ToseeanexampleofahelpfilethatautomaticallyhidestheNavigationpane,youcandownloadandviewthehelptopicsfortheHelpViewerfromtheHTMLHelpWebsite.

AboutcustomizingtheHelpViewer

Page 213: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

AboutaddingaSearchtabtotheNavigationpaneAcompiledhelpfilecanincludeaSearchtabthatallowsausertosearchthrougheverywordinahelpfiletofindamatch.Forexample,ifauserdoesafull-textsearchontheword"index,"everytopicthatcontainstheword"index"willbelisted.

Dependingonhowcomplexyourhelpsystemis,theSearchtabcancontaineitherbasicoradvancedfull-textsearchfunctionality.Advancedfull-textsearchallowsausertosearchusingboolean,wildcard,andnestedexpressions.

Notes

ToseeanexampleofAdvancedfull-textsearch,clicktheSearchtabinthishelpfile.Toseeanexampleofabasicsearch,clicktheSearchtabintheHTMLHelpViewertopicsHelpfile.

Youcandecreasethetimeittakesforafull-textsearchbyincludingafull-textsearchstopwordlistinyourhelpproject.

AddaSearchtab

Page 214: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

Toenablefull-textsearchNotesfull-textsearchstoplistinyourprojectfile.

AboutcustomizingtheHelpViewer

Page 215: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

ToaddaSearchtabtotheNavigationpane4. ClickAdd/ModifyWindowDefinitions,andthenclicktheNavigationPanetab.

5. IntheWindowtypebox,clickthewindowyouwant,andthenselecttheSearchtabcheckbox.SelecttheAdvancedcheckboxtoaddadvancedfull-textsearchfeatures.

Notes

Youcandecreasethetimeittakesforafull-textsearchbyincludingafull-textsearchstoplistinyourproject.Anywordsinthestoplistareomittedfromthesearch.Theseareusuallycommonlyoccurringwords,suchas"the"or"and"thatauserisunlikelytosearchfor.

Afteryouaddanewtab,youmaywanttoadjustthewindowsizeandpositionoftheHelpViewertoaccountforthenewspacethetabusesinthenavigationpane.

AboutcustomizingtheHelpViewer

Page 216: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

Toaddafull-textsearchstoplisttoahelpproject

Notes

Astoplistdecreasesthesizeofthefull-textsearchindex,whichresultsinasmallercompiledhelp(.chm)filebecausefewerwordsareindexed.Thisisespeciallyimportantifyouhavealargedocumentationset.Allwordsinthestoplistareomittedfromthesearch.Theseareusuallycommonlyoccurringwordsornumbers,suchas"the,""and,"or"1"thatauserisunlikelytosearchfor.

Youcancreateafull-textsearchstoplistfromthesamplelistthatcomeswithHTMLHelpWorkshop,andthenincludeitinyourprojectfile.

Forthe1.3releaseofHTMLHelp,thesizeofthisfileislimitedto512bytes.

Donotsetthestoplistasread-only,itwillnotfunctionifthispropertyisset.Aboutfull-textsearch

Page 217: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

Toaddasecondarywindow3. ClicktheGeneral,Buttons,Position,Files,NavigationPane,StylesandExtendedStylestabstocreatethefeaturesyouwantforyoursecondarywindow.

Note

YoucanalsocreateawindowwithoutaNavigationpane.

Aboutcreatinghelpwindows

Page 218: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

TocreateawindowwithoutaNavigationpane3. ClicktheNavigationPanetab,andthencleartheWindowwithnavigationpane,topicpane,andbuttonbarcheckbox.

Note

TocustomizetheHelpViewertoappearasawindowwithoutaNavigationpane,youmustcreateaanewwindow.Anychangestoyournewwindowarethennotedinthe[WINDOWS]sectionoftheproject(.hhp)file.

Aboutcreatinghelpwindows

Page 219: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

ToassignawindowtypetoacontentsorindexentryNotescontinuetoappearinthedefaultwindow.

Aboutsecondaryhelpwindows

Page 220: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

ToassignawindowtypetoatopicwhenlinkingyouhavealreadyusedtheHTMLHelpActiveXcontrolinthisfile,enteranIDnameforthisinstanceofthecontrol.

4. ClickNext,andthen,becauseyoumostlikelydonotwantabuttonassociatedwiththelinktext,clickHiddentospecifythatyouwillbescriptingthisuseoftheHTMLHelpActiveXcontrol.

5. ClickNext,clickAdd,andthenentertheTitleandFile/URLinformationforthetopicyouarelinkingto.

6. IntheWindowbox,specifythenameofthesecondarywindowyouwantthetopictoappearin.Thisnamemustmatchthenameyougavethesecondarywindowintheprojectfile.

7. ClickNext,andthenclickFinish.8. AddthefollowingJavaScriptsyntaxtothefiletocreatethetextlink:

<AHREF=JavaScript:hhctrl.Click()>link</a>

wherehhctrlistheIDfortheinstanceofthecontrolandlinkisthelinktext.

Notes

Forexample,youcouldlinktothefileApple.htmwiththetitle"Howtoeatanapple"andhavethetopicappearinawidewindow.

Thelinkwillnotworkuntilthefileiscompiled.

Formoreinformationaboutthecontrol,seetheHTMLHelpActiveXcontrolreference.

Aboutcreatinghelpwindows

Page 221: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

Tospecifythetitleforahelpwindow3. TypethewordsyouwanttoappearinthewindowtitleintheTitlebartextbox.

Aboutcreatinghelpwindows

Page 222: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

Tospecifyfilelocationsforwindowtypes3. TypefilelocationsfortheTOCandIndexfiles,ifyouareusingthem.4. TypeafilelocationintheDefaultboxfortheHTMLfileyouwantto

displaywhenthehelpfileisfirstopened.

5. TypefilelocationsfortheHomebuttonandanycustomjumpbuttonsyouareusing.

Aboutcreatinghelpwindows

Page 223: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

Tomakechangestotheoverallstyleofhelpwindows3. Selecttheoptionsyouwant.

Notes

windowtype.

Youcanclickthequestionmarkintheupper-rightcornerofthescreen,andthenclickastyleoptiontoseeadefinitionoftheoption.

Aboutcreatinghelpwindows

Page 224: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

Aboutcontext-sensitivepop-uphelpHelptopicsforcontext-sensitivepop-uphelparetext-only.Unlikewindowhelptopics,whichareHTMLfilesthatyouincludeinthe[FILES]sectionofyourproject(.hhp)file,pop-uphelptopicsarestoredinatextfilethatyouincludeinthe[TEXTPOPUPS]sectionofyourproject.

UsingHTMLHelpWorkshop,helpauthorscandefinethebasicattributesofapop-upwindow.Moreadvancedattributescanbedefinedbyadeveloper.

Forexample,inadditiontowritingcodetoenablethecontext-sensitivepop-uptopics,adevelopercanmodifytheforegroundandbackgroundcolors,fontfamily,fontsize,andmarginsofthepop-uptopics.

Note

Pop-upwindowscanalsobeusedinHTMLHelptopics,tocreatepop-upglossarydefinitions,forexample.

Aboutcreatingcontext-sensitivehelp

Page 225: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

Totestchangesinthebackgroundorforegroundcolorofapop-upwindow3. ClickTest,andthenclickDone.

Aboutcreatinghelpwindows

Page 226: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

Toaddorremovebuttonsinahelpwindow3. Selecttheoptionsyouwant.

Notes

Viewerbeforeyoucanaddorremovebuttons.

Seethelistofbuttonfunctionsforthefunctionalityincludedwitheachbuttontype.

IfyoucreateaJumpbutton,youwillbeguidedthroughawizardtospecifythejumplocation.

Aboutcreatinghelpwindows

Page 227: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

ToaddaJumpbuttontoahelpwindow3. SelecttheJump1checkbox,andthentypeanameforthebuttonintheJump1textbox.

4. ClickOK.TheResolveWindowDefinitionWizardwillappear.

5. Verifythewindowname,andthenclickNext.6. IntheButtonnamebox,typethenameofthebuttonagain,andthen,

intheJumptoFilebox,enterafilenameorHTTPaddress:Ifyouwanttolinktoafileinyourhelpsystem,andthefileislocatedinthesamefolderasyourproject(.hhp)file,youonlyneedtotypethefilename.

IfyouwanttolinktoaWebsite,youneedtoprovidethefullURLincludingtheHTTPaddressforthesite.Forexample,http://www.microsoft.com.

7. ClickNext,andthenclickFinish.

Notes

YoucanaddtwoJumpbuttonstoahelpwindow.Ifyouarelinkingtoafileinyourhelpsystemthatisnotinthesamefolderasyourprojectfile,youneedtoprovidetherelativepathtothefile.Forexample,IfyourtopicfileislocatedinasubfoldercalledTopics,youneedtotypeTopics/Mytopic.htm.

Aboutaddingbuttonstoahelpwindow

Page 228: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

CompileahelpprojectThereareavarietyofcompilersettingsyoucanspecifyinHTMLHelpWorkshop.

Whatdoyouwanttodo?

Compileahelpprojectfile

Addcompressiontoahelpfile

Condensefilesstoredindifferentfolderstoasinglelocationattheroot

Specifythedefaulttopicforthecompiledhelpfile

Provideatitleforthecompiledhelpfile

Specifyalocationforacompiledhelpfile

CompileaprojectfilefromtheDOSprompt

Viewcompiledhelpfileinformation

CompileaprojectcompatiblewithHTMLHelpversion1.0

Aboutcompilingahelpproject

Page 229: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

Tocompileahelpprojectfile

Page 230: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

Tosavecompilermessagestoafilepath.

NoteAboutcompilingahelpproject

Page 231: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

TheHTMLHelpauthoringcommandsThisiswheretheauthoringcommandsappearintheHTMLHelpViewer:

AboutHTMLHelpauthoringassistance

Page 232: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

AboutsplittingtopicsinanHTMLfileHTMLHelpisdesignedtoworkwithmultiplefiles,eachcontainingasingletopic.However,youmayfinditeasiertouseasingleHTMLfilethatcontainsacollectionoftopics.TheSplitFilecommand(ontheEditmenu)insertsanHTML<OBJECT>tagbetweenyourhelptopics,whichtellsthecompiler(Hha.dll)tobuildeachtopicasaseparateHTMLfilewhenyoucompileyourhelpproject.

YoucanusetheSplitFilecommandtobreakuptopicsyouhavealreadycreatedinanHTMLfile,ortosplittopicsasyouauthortheminasinglefile.

IfyouareswitchingfromWinHelp,yoursourcedocumentmaybeanexistingRichTextFormat(.rtf)file,convertedtoHTML,thatcontainsmultipletopics.Bysplittingthefileintoseparatetopics,youcanuseasinglesourcefiletocreatemultipleHTMLtopicfiles.

AboutcreatingHTMLtopicfiles

Page 233: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

ToaddaKLinkkeywordtoanHTMLfileKeywords.4. ClickAdd,andthenspecifyanykeywordsyouwanttoinsertintothe

file.Youcanaddmultiplekeywordsbyseparatingeachnamewithasemicolon.

Notes

TouseKLinks,yourhelpprojectmustbesetuptoincludekeywordsfromHTMLfiles.

InsertingaKLinkaddsan<OBJECT>tagtoyourHTMLfile.Thefilecannowbeatargetfile,andyoucancreateaKLinkfromanotherHTMLfiletoit.

IndexfilescreatedusingthesitemapmethoddonotsupportKLinks.

YoucantestKLinksincompiledhelpfiles.

FormoreinformationaboutKLinks,seetheHTMLHelpActiveXcontrolreference.

Aboutworkingwithlinks

Page 234: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

DevelopguidelinesfortestingBeforeyoubegintesting,considerdoingthefollowing:Makesureallthetestersarerunningthesameversionofthehelpfileand,ifthehelpfileisrelatedtoaprogram,thesameversionoftheprogram.

Deviseamethodforreportingandtrackingbugsuntiltheyarefixed.Thebugreportshouldbeclearandcompletesothatitisusefultothehelpauthorwhowillhavetofixtheproblem.Ideally,thebugreportshouldcontaininformationaboutthehelpfileandtopicaffected,adescriptionoftheproblem,andthestepsrequiredtoreproducetheproblem.

Youmightalsowanttoasksomeonewhoisunfamiliarwithyourhelpfileandproducttoactasasampleuserandhelpyoutestyourhelpfile.Asktheusertofindinformationaboutparticulartasks,tousetheIndex,Contents,andSearchtabstofindinformation,ortoreadthroughoverviews.Iftheuserhasdifficultyusingapartofyourhelpfile,reworkitandtryagain.

Developaprocessfortestinghelpfiles

Page 235: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

CleanupcompilermessagesYoucanfixsomehelpfileproblemsbeforeyouevenopenthehelpfile.Whenyoucompileahelpfile,HTMLHelpWorkshopnotifiesyouofsomebasicproblemsinthefilebyreportingcompilermessages.

Yourfirsttestingtaskistocompilethehelpprojectandviewthecompilermessages.Makesuretherearenonethatcancauseproblemsinyourhelpfile.

Ifyouhavecreatedcontext-sensitivehelpforyourprogram,readthetopiconfixingcontext-sensitivehelpproblems.

Developaprocessfortestinghelpfiles

Page 236: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

TesthelpintheuserinterfaceIfyourhelpsystemisdesignedsothatahelpfilecanbeopenedfromaHelpmenuorotheritemintheuserinterface,testtoensurethathelpwillstartwhenusersexpectitto.

Page 237: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

SuggestedtasksfortestingIfyourhelpsystemisdesignedsothatahelpfileopenswhenauserpressestheF1key,testthatthecorrecthelptopicopens.Openeachdialogboxthathaslinkstohelpandtestthatthecorrecthelptopicopens.Ifyourprogramhashelpbuttonsindialogboxes,tryallofthem.Ifyourprogramusesaquestionmarkorright-clickhelp,testanyitemsthathavehelpconnectedtothem.

Double-clicktheiconforthehelpfile.MakesuretheHelpViewerortheframesetyouhavecreatedopensandthatthecorrectindex,tableofcontents,ortopicappearsinthecorrectwindow.

Ifyourhelpsystemcontainsfilesforoptionalcomponents,testhelpfileswitheachcomponentinstalledornotinstalledtoensurethatthecorrectfilesappearatthecorrecttimes.

Ifyouuseinformationtypesinyourhelptopics,testtoensurethatthetopicsarereachingtheappropriateaudiences.

IfyouaredeliveringahelpsystemtodifferentWebbrowsersortouserswithdifferentversionsofthesameWebbrowser,testyourtopicsineachbrowserorbrowserversion.

Page 238: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

Testingcontext-sensitivehelpUnfortunately,thereisnoautomatedwaytomakesurethatthecorrectcontext-sensitivehelptopicappearswhentheuserrequestshelpforanitem.Youneedtotestcontext-sensitivehelpincontextbyusingyourprogram.Openeverydialogboxandclickeveryitemwhereyouexpectcontext-sensitivehelptoappear.

Developaprocessfortestinghelpfiles

Page 239: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

Testinglinks,pop-upwindows,andrelatedtopicsWhentestingahelpfile,youshouldalsoensurethatallhyperlinks,pop-upwindows,andRelatedTopicslinksareworkingcorrectly.

Page 240: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

SuggestedtasksfortestingOpenthehelpfileandtestallofthelinksfromtheContentstabtomakesuretheyallleadtothecorrecttopic.

Makesurethatthetopicsyoulinktoappearinthecorrectwindowtype.

Developaprocessfortestinghelpfiles

Page 241: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

CheckingformattingandstylesYoushouldalsotestallstyles,cascadingstylesheets,tables,andanyotherformattingusedinyourhelpsystem.

Page 242: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

SuggestedtasksfortestingMakesureallHTMLtagshavebothastartandanendbracketandthatexpectedelementsandmetatagsareallinplace.

Checkthatheadings,numberedlists,bulletedlists,andsoonareallformattedusingthecorrecttags.

Makesurethatspacingandmarginsarecorrect.

Viewthehelpfileondifferentmonitorsandbrowserstomakesuretheformatting,colors,andstylesarecorrect.Ifanyofyourstylesusethesamefontsasthebrowseryouareviewingin,changeyourdefaultbrowserfontsothedifferenceinstylesisimmediatelyapparent.

Ausefultestofwhetheracascadingstylesheetisworkingornotistoaddthestyleinformationusingthe<STYLE>tagwiththeincludedstylestoarepresentativefileortwo.Youcanthencomparethesefilestotheonesusingthe<LINK>tag.

ChangeyourWindowsdesktopcolorschemeandmakesurethehelpfileisstillreadable.

Testyourstylesheetindifferentversionsofthesamebrowser.Forexample,newdevelopmentsincascadingstylesheetscausethemtodisplaytopicsdifferentlyinMicrosoftInternetExplorer4.0thantheydidinearlierversionofInternetExplorer.

Developaprocessfortestinghelpfiles

Page 243: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

ReviewingaccuracyandstyleofhelpcontentYoushouldtestcontent,images,andothertexttomakesurethatalltextisaccurateandcompleteandthatitfollowseditorialguidelines.

Page 244: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

Suggestedtasksfortestingthatusedintheuserinterface.

Makesurethatalltopicsfollowanyeditorialguidelinesyouhavesetup.

Accessallsecondaryhelptextorinformationattachedtoyourprogram.Areerrormessagesunderstandableandeasytoread?Istheinformationprovidedindialogboxesaccurateandclear?

Developaprocessfortestinghelpfiles

Page 245: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

Checkingthehelpfileindex,spelling,andtitlesBeforeyoushipyourhelpfile,doafinalspellingcheckandmakesurethateverythingworkscorrectlyfromtheIndextab.

Page 246: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

Suggestedtasksfortestingindex.

ScrollthroughallentriesintheIndextab.Makesurethekeywordsappearcorrectlyandthattheyjumptothecorrecttopics.

Makesurethatalltopicshaveatitledefined,ifnecessary.

Intheindex,checkforproperindentationofkeywordsandheadings.Becauseofthewaykeywordsaresorted,youneedtomakesurethattheorderofthekeywordslookscorrectandthatsecond-levelentriesappearundertheproperfirst-levelentries.

Makesurethatkeywordsjumptothecorrecttopicsbydouble-clickingeachone.

Ifyoucombinedorconvertedkeywordsfrommultiplehelpfiles,checkcloselyforconsistency.Youmaynoticeinconsistenciesinterminology,useofbothsingularandpluralformsofwords,andinconsistentverbconstruction.

Developaprocessfortestinghelpfiles

Page 247: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

ToviewhelpmessagesAmessagewillappearforeachAPIcallthatissentinresponsetocontext-sensitivehelp.

3. Tosavethemessagesinatextfile,clickSaveFileontheFilemenuinHTMLHelpWorkshop.

Examplehelpmessagetext

HH_TP_HELP_WM_HELP/HH_TP_HELP_CONTEXTMENU:Controlid=1035,Helpid=1000,File=htmlhelp.chm::/cxthelp/wintype.txt.HH_TP_HELP_WM_HELP/HH_TP_HELP_CONTEXTMENU:Controlid=1041,Helpid=1001,File=htmlhelp.chm::/cxthelp/wintype.txt.

Notes

Toseeanexampleofcontext-sensitivehelpinHTMLHelpWorkshop,dostepone(above),andthen:openaproject(.hhp)file,clickAdd/ModifyWindowDefinitions.Ifyouhavenotdefinedanyalready,addanewwindowtype.Clickthequestionmarkintheupper-rightcornerofthedialogbox,andthenclickacontrol.NotethetextthatappearsintheViewMessageswindow.

Whenviewinghelpmessages,youcanclearthemessagelogatanytime.

ThisfeatureonlydisplayshelpmessagesassociatedwiththeHTMLHelpAPI.MessagesforinterfaceelementssuchastheOKandCancelbuttonswillnotappear,sincetheyarepartoftheWindowsAPI.

Abouttestingahelpsystem

Page 248: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

Toclearhelpmessages

Page 249: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

Todecompileacompiledhelpfilefromthecommandlinewhere-decompileistheswitch,folderisthenameofthedestinationfolderwhereyouwantthedecompiledfilestobecopied,andchmisthenameofthecompiledhelp(.chm)fileyouwanttodecompile.

Note

Client-sidecommandlineswitchesarepartoftheHTMLHelpexecutableprogram(Hh.exe)andthereforeworkwhenHTMLHelpWorkshopisnotsetup.

Aboutcommandlineswitches

Page 250: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

UsingamapIDfromthecommandlinewhere-mapidistheswitch,andidistheIDoftheHTMLfileorotherfileyouwanttoappear.

Notes

aWindowsshortcut.

Client-sidecommandlineswitchesarepartoftheHTMLHelpexecutableprogram(Hh.exe)andthereforeworkwhenHTMLHelpWorkshopisnotsetup.

Aboutcommandlineswitches

Page 251: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

Tocreatean800X600windowfromthecommandlinetypesinyourcompiledhelpfile.

Client-sidecommandlineswitchesarepartoftheHTMLHelpexecutableprogram(Hh.exe)andthereforeworkwhenHTMLHelpWorkshopisnotsetup.

Aboutcommandlineswitches

Page 252: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

TospecifyatitleforawindowfromthecommandlineNoteThiscommandisignoredifyouhavespecifiedanydefaultwindowtypesinyourcompiledhelpfile.

Client-sidecommandlineswitchesarepartoftheHTMLHelpexecutableprogram(Hh.exe)andthereforeworkwhenHTMLHelpWorkshopisnotsetup.

Aboutcommandlineswitches

Page 253: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

StartthecontrolwizardandspecifytheshortcutcommandIDnameforthisinstanceofthecontrol.

4. ClickNext.

Specifyhowyouwantthecommandtoappeartotheuser

Page 254: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

Specifyhowyouwantthecommandtoappeartotheuser

Page 255: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

Selectthebuttonoptions3. ClickNext.

Note

wizardscreen.

HTMLHelpWorkshopcomeswithabuilt-in"shortcut"icon.Tousethisicononashortcutbutton,selectDisplayabitmaponthebutton,andtype"shortcut"(withoutthequotes)intheBitmapfield.

Specifytheprogramtoopen,parameters,andwindowclass

Page 256: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

Specifytheprogramtoopen,parameters,andwindowclassclassbox.Doingthismakesitsothatonlyonecopyoftheprogramwillberun.Youcanleavethisboxblankifyouwantto.

Note

YoucanopenaWindowscontrolpanelbyspecifyingtheappropriatefileintheProgrambox.Windowscontrolpanelsareidentifiedbythe.cplfilenameextension.

SpecifyastandardWindowsmessage

Page 257: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

SpecifyastandardWindowsmessageprogramcannotbefound.Youcanleavethisboxblankifyouwantto.

Backtothebeginning

Aboutshortcuts

Page 258: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

AboutshortcutsShortcutsarehotspotsthatcanlaunchanotherapplication,ortaketheusertoaspecificdialogboxwithinanapplication.YoucanalsouseshortcutstoactivatethingslikeWindowscontrolpanels.Useshortcutstomakethingseasierfornoviceusers,andspeedexperiencedusersthroughcomplexprocedures.

UsingtheShortcutcommand,youcanspecifywhichprogramtoopen,whichfiletoopenintheprogram(ifany),theWindowclassfortheprogram,andastandardWindowsmessagefollowedbyWPARAMandLPARAMvalues.YoucanalsospecifyanHTMLfiletojumptoiftheprogramcannotbefound.

YoucanusetheHTMLHelpActiveXControlWizardtoinsertaShortcutcommand,orinsertthecodemanually.

Theshortcutfeatureonlyworkswhenthefollowingthreeconditionsaremet:

1. Theshortcutmustbeinacompiledhelpfile.

2. Thecompiledhelpfilemustbelocatedonalocalornetworkdrive(afileaccessedthroughHTTPwillnotwork).

3. ThecompiledhelpfilemustappearintheHelpViewer;ashortcutwillnotworkinafilethatappearsinMicrosoftInternetExplorer.

Clickheretoseeashortcutinaction(thisonelaunchesnotepad.exe).

Notes

Considerthesecurityrisksifyoucreateashortcutthatinitiatesaneventfromacompiledhelp(.chm)filetotheInternet.

FordetailedinformationabouttheShortcutcommand,seetheHTMLHelpActiveXcontrolreference.

Abouthookinguphelptoaprogram

Page 259: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

Tocreateatextfileforpop-uphelptopics.topictopicIDhelptopic

WheretopicID,isthesymbolicIDofaspecificdialogboxcontrol,andhelptopicisthehelptextforthecontrol.

4. Savethetextfile.

Thesampletextfile,below,istakenfromHTMLHelpWorkshop:

Notes

IfyouuseanIDH_prefixwiththetopicID,asshownintheexampleabove,HTMLHelpWorkshopwillautomaticallycheckthatthetopicsmappedinyourprojectfileactuallyexistinyourcompiledhelp(.chm)file,andthatyourcontext-sensitivehelptopicsareallmappedinyourprojectfile.

ThetopicIDforeachentrymustbeunique.

Tosimplifyfilemanagement,youcanstorehelptopicsinmultipletextfiles.

Page 260: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

YoucanalsouseMicrosoftNotepadoranyothertexteditortocreatethistextfile.

Createaheaderfile

Page 261: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

Tocreateaheaderfile#defineIDH_symbolicID1000

WheresymbolicIDisthesymbolicIDforpartoftheprogram(suchasadialogboxorcontrol)and1000isthenumericID.ThenumericIDsintheheaderfileareusedonlybytheHTMLHelpcompiler.ThecompilermapsnumericIDsintheheaderfiletohelptopics.

3. Savethefilewitha.hextension.

ThefollowingsampleheaderfileistakenfromHTMLHelpWorkshop:

Note

IfyouuseanIDH_prefixwiththesymbolicID,asshownintheexampleabove,HTMLHelpWorkshopwillautomaticallycheckthatthetopicsmappedinyourprojectfileactuallyexistinyourcompiledhelp(.chm)file,andthatyourcontext-sensitivehelptopicsareallmappedinyourprojectfile.

Createa[TEXTPOPUPS]sectioninaprojectfile

Page 262: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

Tocreatea[TEXTPOPUPS]sectioninaprojectfile4. Savetheproject.

Includeaheaderfileinaprojectfile

Page 263: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

Toincludeaheaderfileinaprojectfile4. Savetheproject.

Backtothebeginning

Aboutcontext-sensitivehelp

Page 264: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

Guidelinesforcreatingacontext-sensitivehelpfileWhenyouwritecontext-sensitivehelp,youfirstcreateafilecontainingcontext-sensitivehelptopicstowhichyouhaveassigneduniqueIDs.ThenyoucreateaheaderfilethatliststhesymbolicIDsandnumericIDsforallthedialogboxesandcontrolsinaprogram.

Beforeyoubeginwriting,considerthefollowing:

Dependingonyourprogram,youcouldendupwithhundredsoreventhousandsofcontext-sensitivehelptopics.Ifyoudevelopagoodtrackingsystemitwillsavetimewhenyoucommunicatewithsoftwaredevelopersortestyourfiles.

IfyouuseIDH_astheprefixforyourcontext-sensitivehelptopicIDs,HTMLHelpWorkshopautomaticallychecksthatthetopicsmappedinyourprojectfileactuallyexistinyourcompiledhelp(.chm)file.Italsomakessurethatyourcontext-sensitivehelptopicsareallmappedinyourproject(.hhp)file.

YoudonotneedtowritetopicsoraddcodefortheOK,Cancel,Save,Open,PrintandotherbuttonsthatareassociatedwithcommonWindows95dialogboxes,becausetheyarealreadyincluded.However,ifyoursoftwaredeveloperhasmodifiedthecommondialogtemplatetoaddacustomcontroltoadialogbox,youmustwritehelptopicsforanyadditionalitems.

Makesurethatyoursoftwaredevelopermapsthehelptoincludethelabels,aswellasthecontrols,inaprogram'sdialogbox.Someusersclickthecontrolinadialogbox,suchasabuttonortextbox,togethelp,whileothersclickthelabelforthecontrol.Youprobablywantthesamehelptopictoappearineithersituation.

Ifthereareseveralitemsinagroupbox,youmightwantseparatehelptopicsforeachitem.Inthiscase,youcanassignthegroupboxlabelagenerictopicthattellsuserstoclickeachiteminthegroupforspecificinformation.Ifthereisonlyoneiteminthegroupbox,associatethegroupboxlabelwiththetopicfortheitem.

YoucanmapatopicIDtoanynumber,butthenumericvaluesdefinedinahelpfilemustallbeunique.Youcanspecifynumericvaluesineitherdecimalorstandardhexadecimalformat.Often,thesoftwaredeveloperwillcreatethemappingforyouinaheader(.h)filethatyoucanincludeinyourproject.

Note

Informationforsoftwaredevelopersaboutcreatingthecodeforcontext-sensitivehelpisintheHTMLHelpAPIreference.

Aboutcreatingcontext-sensitivehelp

Page 265: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

Troubleshootingcontext-sensitivehelpIfyourcontext-sensitivehelpisnotworkingproperly,usethefollowingchecklisttolocateandsolvetheproblem:

Page 266: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

MappingissuesDoeseachIDthatismappedintheprojectfilehaveatopicinthecompiledhelpfile?

Page 267: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

IncludedfileissuesHaveyouincludedatext(.txt)fileinthe[TEXTPOPUPS]sectioninyourprojectfile?

Isyour[TEXTPOPUPS]sectionreferencingthecorrectlocationoftheheaderandtextfiles?

Page 268: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

Pop-uphelptopicissuesHaveyoudouble-checkedyourtextfileformisspellingsorsyntaxerrors?

Note

IfyouusedtheIDH_prefixforyourcontext-sensitivehelptopicIDs,HTMLHelpWorkshopautomaticallycomparesthetopicIDsinyourcompiledhelpfileagainstthosemappedtonumericvaluesinyourprojectfile.Compilermessageswilltellyouwhereyourcontext-sensitivehelpisbrokensoyoucanfixit.

Aboutcreatingcontext-sensitivehelp

Page 269: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

Tomergemultiplehelpfilesatruntime

Notes

shippedwiththemaincompiledhelpfile,andallmustbelocatedinthesamedirectory.

Thisproceduremergestheindex,Keywordlinks(KLinks),Associativelinks(ALinks),andfull-textsearchinformationfrommultiplecompiledhelpfiles.UnifiedindexandsearchinformationappearsintheNavigationpaneoftheHelpViewer.

Ifyoualsowantaunifiedtableofcontents,youmustcreateacontentsfilethatlinkstoothercontentsfiles.

Themergefeaturewillnotworkifyoucompileahelpfileandsetthecompatibilitytoversion1.0.

Therearespecialconsiderationswhenlinkingbetweenmergedhelpfiles.

Aboutmerginghelpfilesatruntime

Page 270: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

TocreateanewHTMLfileNotesentryforthetitle.

Tochangethetitleofafile,clicktheTagsmenu,andthenclickTitle.Toaddahiddencommenttoafile,clicktheTagsmenu,andthenclickComment.YoucanuseanyauthoringtooltocreateHTMLfilesaslongasyoucreatestandardversion3.2HTMLsourcecode.

AboutcreatingHTMLtopicfiles

Page 271: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

ViewingHTMLfilesYoucanviewHTMLfilesinseveralways.

Whatdoyouwanttodo?

ViewanHTMLfileaspartofacompiledproject

OpenanHTMLfileandviewitssourcecode

AboutcreatingHTMLtopicfiles

Page 272: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

AddingHTMLtagsandotherelementstofilesInadditiontotext,HTMLfilescontainHTMLtagsandelementssuchasDynamicHTMLandscriptsthatcanaffecthowinformationappearsinthetopic.

Formoreinformationaboutthetagorelementyouareadding,seetheHTMLTagReference.

Whatdoyouwanttodo?

AddthemostcommonHTMLcharacterformattingtagstoyourfile

StoreHTMLtagsortextforlateruse

InserttheHTMLHelpActiveXcontrolintoafile

AddRelatedTopicslinkstoafile

Createashortcutinahelptopic

AboutcreatingHTMLtopicfiles

Page 273: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

TosplittopicsinanHTMLfile4. IntheNewHTMLfilenamebox,typeanameforthenewfile.5. IntheNewtitlebox,typeatitleforthenewfile.

Notes

HTMLHelpWorkshopsplitsthefileduringthecompilationprocess.Thebasic<BODY>,<HTML>,and<DOCTYPE>tagswillbeaddedaftereachsplit.The<TITLE>tagwillalsobeduplicatedifyoudonotspecifyanewtitleforeachfile.

YoucanhavemultipleinstancesoftheHTMLHelpActiveXcontrolinasingleHTMLfiletosplitthefileinmultiplelocations.

Thisfeaturecanbeusedonlywithacompiledhelp(.chm)file.

ThesplitHTMLfilesdonotappearinthe[FILES]sectionoftheproject(.hhp)file.TocreatelinkstothesefilesinanyHTMLfileorinyourtableofcontents,refertothefilenamesspecifiedinSplitFile.TheseHTMLfilesareaccessibleonlyfromthemasterHTMLfileuntilaftercompilation.

AboutcreatingHTMLtopicfiles

Page 274: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

AbouttheHTMLHelpJavaAppletTheHTMLHelpJavaAppletisacontrolcontainingnavigationfeaturesthatyoucaninsertintoanHTMLfile.UsetheHTMLHelpJavaAppletwithanyWebbrowserthatsupportsJava.

TheHTMLHelpJavaAppletenablesyoutoaddthefollowingnavigationfeaturestoyourHTMLfiles:

Tableofcontents

Index

RelatedTopics

TheHTMLHelpComponents

Page 276: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

ToaddRelatedTopicslinkstoafile4. Followtheinstructionsonthescreen.

Notes

box.Youcanspecifythattheyinsteadappearonapop-upmenu.

RelatedTopicscanbeauthoredasatextlink.

YoucanspecifythatRelatedTopicsopeninasecondarywindow.

Aboutworkingwithlinks

Page 277: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

TolinkfromatopicinaHTMLHelpfiletoatopicinaWinHelpfileAboutworkingwithlinks

Page 278: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

Tocreateatwo-frameHTMLframeset<Framesetcols="40%,*"><Framename="left"src="left.htm"><Framename="right"src="right.htm"></Frameset>

4. Deletethe<BODY>startandendtagsfromthefile.Yourframesetwillnotworkifthefilethatcontrolstheframesetusesthem.

5. Savethefileasframes.htm.

Addanavigationframe

Page 279: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

Toaddanavigationframe<objecttype="text/siteproperties"><paramname="FrameName"value="right"></object>

4. ClickHTMLHelpActiveXControl.5. IntheSpecifythecommandbox,clickTableofContents,andthen

clickNext.6. IntheLocationof.hhcfilebox,specifywherethecontentsfileis

located.DonotspecifyanImageBitmaporchangetheHeightorWidthvalues.

7. ClickNexttwice,andthenclickFinish.DonotspecifyanyWindowstyles.

8. Savethefileasleft.htm,sothatitmatchesthenameyougavewhenyoucreatedframes.htm.

Addadefaultframelocationtothetableofcontentsfile

Page 280: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

Toaddadefaultframelocationtothetableofcontentsfile

Addatopicframe

Page 281: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

Toaddatopicframe4. Savethefileasright.htm.

Viewthecompleteframesetinabrowser

Page 282: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

ToviewthecompleteframesetinabrowserAboutcreatingframesets

Page 283: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

Towritetextforapop-upwindowfont_variable="Facename[,pointsize[,charset[,PLAINBOLDITALICUNDERLINE]]]"text_variable="APop-upWindow"text_variable2="AnotherPop-upWindow"</SCRIPT>

wherefont_variableisthenameofthevariablethatspecifiesthefontattributesforthetext,andtext_variableisthenameofthevariablethatspecifiesthetexttoappearinthepop-upwindow.

Example

Thefollowingscriptspecifies10pointitalicHelveticaasthefonttouseforthetextanddefinesonepop-upwindow:

<SCRIPTLanguage=JavaScript>

MyFont="Helvetica,10,,italic"

MyText="Thisisapop-upwindow."</SCRIPT>

Notes

Youcanplacethepop-upwindowsanywherewithinthe<BODY>startandendtagsofyourHTMLfile.

Thetextforpop-upwindowscanalsobestoredinatextfilewiththe.jsfilenameextensionthatyoureferencefromyourHTMLfile.

Page 284: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

ToinserttheHTMLHelpActiveXcontrolinyourHTMLfileid=popup

type="application/x-oleobject"

classid="clsid:adb880a6-d8ff-11cf-9377-00aa003b7a11"

>

</OBJECT>

wherepopupistheIDofthecontrol,whichyouwillreferenceinstep3.IfyourHTMLfilealreadyincludesaninstanceofthecontrol,youcanreferencethatone.

Notes

YoucanalsoinsertthecontrolbyusingtheHTMLHelpActiveXControlWizard,andthendeletethe<PARAM>tagsmanually.

YoucanplacetheHTMLHelpActiveXcontrolsyntaxanywherewithinthe<BODY>startandendtagsofyourHTMLfile.

IfyouhaveinsertedmultipleinstancesoftheHTMLHelpActiveXcontrolinthesameHTMLfile,besurethateachinstancehasauniqueID.

Page 285: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

Tocreateahyperlinktoopenthepop-upwindowfont_variable,9,9,-1,-1)">ClickHere</a>

wherepopupistheIDyouspecifiedinstep2,text_variableandfont_variablearethevariablenamesyouspecifiedinstep1,thenumericvaluesaretheleftandrightmargins(9,9)andtheforegroundandbackgroundcolors(-1,-1)ofthewindow,andClickHereisthelinktext.

Example

ThefollowingexamplereferencestheHTMLHelpActiveXcontrolwhoseIDispopupanddisplaysthetextvariableMyTextandthefontvariableMyFont:

<AHREF=JavaScript:popup.TextPopup(MyText,MyFont,9,9,-1,-1)>Clicktoseeapop-upwindow.</A>

Asampleoftheresultinglinkisshownbelow:

Clicktoseeapop-upwindow

Notes

YoudonothavetocreateatextlinktocallTextPopup.Youcanalsouseascripttocallit.

Backtothebeginning

AboutthescriptandDHTMLexamples

Page 286: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

Tocreateanimagemap<imgsrc="file.gif"usemap="#mapname"BORDER=0WIDTH=216HEIGHT=216>

wherefile.gifisthenameofyourimagefileandmapnameisthenameoftheimagemapthatyoucreatedinstep1,above.TheWIDTHandHEIGHTattributeswillvarydependingonthesizeofyourimage.

Example

Thefollowingcodeshowsanimagemapnamedtestthathasfourregions:

<MAPNAME="test"><AREASHAPE=RECTCOORDS="4,2,108,103"><AREASHAPE=RECTCOORDS="117,6,212,104"><AREASHAPE=RECTCOORDS="3,111,105,213"><AREASHAPE=RECTCOORDS="114,113,211,210"></MAP>

Thefollowingcodeinsertsanimagenamedtest.gifandreferencestheimagemapnamedtest:

<IMGSRC="test.gif"USEMAP="#test"BORDER=0WIDTH=216HEIGHT=216>

Theresultingimagehasfour"placeholder"regionsthatyouwill"hook-up"topop-upwindowsinStep5:

YoucanalsoreferenceanexternalimagemapfilefromyourHTMLfile.

Page 287: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

Notes

Page 288: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

Towritetextforpop-upwindowstext_variable="APop-upWindow"text_variable2="AnotherPop-upWindow"</SCRIPT>

wherefont_variableisthenameofthevariablethatspecifiesthefontattributesforthetext,andtext_variableisthenameofthevariablethatspecifiesthetextofthepop-upwindow.

2. Createonetextvariable(withauniquename)foreachpop-upwindow.

Example

Thefollowingscriptspecifies10pointVerdanaasthefonttouseforthetextanddefinesfourpop-upwindows:

<SCRIPTLanguage=JavaScript>

popfont="Verdana,10,,plain"

square1="WelcometoSquare1!"

square2="ThisisSquare2!"

square3="WelcometoSquare3!"

square4="Square4welcomesyou!"</SCRIPT>

Notes

Youcanplacethepop-upwindowsanywherewithinthe<BODY>startandendtagsofyourHTMLfile.

Thetextforpop-upwindowscanalsobestoredinatextfilewiththe.jsfilenameextensionthatyoureferencefromyourHTMLfile.

Formoreinformationaboutspecifyingfontattributes,seetheTextPopupmethod.

Page 289: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

Toaddtheimagetoyourprojectfile

4. Repeatsteps2and3ifyouarereferencinganexternalimagemap.

Notes

Theimagefileshouldresideinthesamedirectoryastheprojectfile.

SkipthisstepifyouareusinguncompiledHTMLfilesanddonothaveaprojectfile.

Page 290: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

ToinserttheHTMLHelpActiveXcontrolinyourHTMLfileid=image_popup

type="application/x-oleobject"

classid="clsid:adb880a6-d8ff-11cf-9377-00aa003b7a11"

>

</OBJECT>

whereimage_popupistheIDofthecontrol,whichyouwillreferenceinstep5.IfyourHTMLfilealreadyincludesaninstanceofthecontrol,youcanreferencethatone,ratherthaninsertinganewone.

Notes

YoucanalsoinsertthecontrolbyusingtheHTMLHelpActiveXControlWizard,andthendeletethe<PARAM>tagsmanually.

YoucanplacetheHTMLHelpActiveXcontrolanywherewithinthe<BODY>startandendtagsofyourHTMLfile.

IfyouhaveinsertedmultipleinstancesoftheHTMLHelpActiveXcontrolinthesameHTMLfile,besurethateachinstancehasauniqueID.

Page 291: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

Toaddhyperlinkstoeachregionoftheimagemapfont_variable,9,9,-1,-1)"

whereimage_popupistheIDyouspecifiedinstep4,text_variableandfont_variablearethevariablesnamesyouspecifiedinstep2,andthenumericvaluesaretheleftandrightmargins(9,9)andtheforegroundandbackgroundcolors(-1,-1)ofthewindow.

2. Repeatstep1foreachregioninyourimagemap.

Example

ThehyperlinksshownbelowhavebeenaddedtotheexampleimagemapshowninStep1:

<AREASHAPE=RECTCOORDS="4,2,108,103"AHREF="JavaScript:image_popup(square1,popfont,9,9,-1,-1)"Title="Square1">

<AREASHAPE=RECTCOORDS="117,6,212,104"AHREF="JavaScript:image_popup(square2,popfont,9,9,-1,-1)"Title="Square2">

<AREASHAPE=RECTCOORDS="3,111,105,213"AHREF="JavaScript:image_popup(square3,popfont,9,9,-1,-1)"Title="Square3">

<AREASHAPE=RECTCOORDS="114,113,211,210"AHREF="JavaScript:image_popup(square4,popfont,9,9,-1,-1)"Title="Square4"></MAP>

Theannotatedimagemapisshownbelow:

The<A>tagTITLEparameterisoptional.

Page 292: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

NoteBacktothebeginning

AboutthescriptandDHTMLexamples

Page 293: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

Sample:CreatecollapsiblesectionswithDHTMLThissamplefeaturesanactualtopicfromtheHTMLHelpdocumentation.Clickingthegreenlinkwillmakethesidebardisappear.Clickingthelinkagain,orthesidebaritself,willmakeitdisappearagain.

Page 294: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

TospecifythelocationofindexfilesBacktoCreatecollapsiblesectionswithDHTML

Page 295: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

Tocreateatagforanexpandablesection<aonclick="doSection(foo)"class="anchorclass"href="filename.htm">Linktext</a>

<DIVCLASS="divclass"ID="foo"STYLE="display:none"onclick="noSection(foo)">Thisiswherethetextappears.</DIV>

WheredoSectionisthenameofthefirstJavaScriptfunction,whichopensthesectionifitisclosed,andclosesitifitisopen.noSectionisthenameofthesecondJavaScriptfunction,whichclosesthesectionwhentheuserclicksinsideit.fooistheuniqueIDforthisinstanceofthesection,andfilename.htmisthetargetfileforthelink.

Example

Notes

Ifyouareincludingmorethanoneinstanceofthistagonthesamepage,besurethateachinstancehasauniqueID.

Page 296: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

ToinserttheJavaScriptcodeInsertthefollowingJavaScriptfunctionsbetweenthe<HEAD>startandendtagsofthepage:

<SCRIPTLANGUAGE="JavaScript"><!--functionfunction1Name(idVariable){//displaythesectionifit'snotdisplayed;hideitifitisdisplayedif(idVariable.style.display=="none"){idVariable.style.display=""}else{idVariable.style.display="none"}}functionfunction2Name(idVariable){//removethesectionwhenuserclicksintheopenedDIVif(idVariable.style.display==""){idVariable.style.display="none"}}-->

Wherefunction1Nameandfunction2Namearethenamesofeachfunction,andidVariableisthevariablefortheuniqueIDthatispassedtothescripteachtimeauserclicksthelink.

Example

ThefollowingistheactualJavaScriptcodeusedintheHTMLHelpdocumentation:

functiondoSection(secNum){//displaythesectionifit'snotdisplayed;hideitifitisdisplayedif(secNum.style.display=="none"){secNum.style.display=""}else{secNum.style.display="none"}}

functionnoSection(secNum){//removethesectionwhenuserclicksintheopenedDIVif(secNum.style.display==""){secNum.style.display="none"}}

Notes

Youcanuseaglobalscriptfiletostoreallofyourscriptsinonelocation.Thiscanmakeitmucheasiertomaintainscriptsthatareusedonmultipletopicsinahelpsystem.

Page 297: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

ToupdateyourstylesheetYoucanmakeyourexpandablesectionsstandoutbyupdatingyourstylesheetwithanewclass.Stylesheetsletyoudefinethestyleattributesforthesection.Forexample,youcanmakethesectionhaveacoloredborder,orarepeatinggraphicforthebackground.Youcanalsoaddstyleattributestofine-tunethespacing,margins,andoverallpositioningofthesection.

Example

ThisisthestyleclassthatwehavedefinedforthesidebarsintheHTMLHelpdocumentation:

<STYLE>DIV.sidebartext{position:relative;left:-22px;height:72px;width:300px;margin-top:.6em;margin-right:3em;margin-left:0;margin-bottom:.6em;padding-top:.75em;padding-right:6px;padding-left:.75em;padding-bottom:.75em;cursor:hand;border-left:4ptsolid#339900;background-color:#F0F0F0;}</STYLE>

Note

BecausethereareusuallymanystyleattributesassociatedwiththiskindofDynamicHTML(DHTML)link,itiseasiesttomaintaintheinformationasaclassinacascadingstylesheet,ratherthanasattributesineachinstanceofthelinktag.

Backtothebeginning

Page 298: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

AboutcreatingdynamichyperlinksYoucancreateamoredynamichelpsystem,andbringgreateremphasistotextlinks,bymakingyourlinkschangecolororsizewhenauserpointstothem.

Foranexample,pointtothelinkatthebottomofthistopic.Thefollowinghoverstylewasaddedtothecascadingstylesheetforthishelpfiletocreatethedynamiclinks:

a:hover{attribute:value;}

whereattributeisastylesheetattribute,andvalueisthecorrespondingvalue.Useasemicolontoseparatemultipleattributes.

Example

Thefollowingexampleshowsananchorthatwillturnredandbecomeboldwhenausermovestheircursoroverthelinktext:

a:hover{color:red;font-weight:bold;}

Createdynamiclinks

Page 299: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

AboutcreatingadynamicinlineelementAlthough<DIV>and<SPAN>tagsareusuallyusedforpagelayoutpurposes,youcanalsousethemtomakeuniquelinks.Forexample,wecreatedthefollowingdynamiclinkforthetopiclinksonourhomepages:

GO

Therearethreestepstocreatingadynamicelement:

1. Insertthetagforaninstanceofthesection.

2. InserttheJavaScriptcode.

3. Updateyourstylesheettoreflectthenewsection.

Note

Whenyouusethe<SPAN>taginlinewithtext,includingotheritemsinthespan(suchasgraphics)limitsthespan'sminimumheightto12points.

Createdynamiclinks

Page 300: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

AboutHTMLHelpWorkshopMicrosoftHTMLHelpWorkshop(Hhw.exe)isanexecutableprogramdesignedtohelpyoucreatehelpsystemsusingsourcefilesbasedonHypertextMarkupLanguage(HTML).WithHTMLHelpWorkshop,youcancreatehelpsystemsfordistributionwithasoftwareprogramorasstand-alonesystemsonaWebsite.

Withitseasy-to-useinterface,HTMLHelpWorkshopallowsyoutoorganizethedifferentfilesthatmakeupthecontentofyourhelpsystemintoasingleproject(.hhp)file,andtoauthorHTMLfileswithatexteditor.Youcanalsocreateandeditcontents(.hhc)andindex(.hhk)files,addgraphics(.gif,.jpeg,.png)files,andinserttheHTMLHelpActiveXcontrol(theprimarynavigationtoolinHTMLHelp)intoyourHTMLfiles.

IfyouchoosetoshipyourhelpfilesusingtheHTMLHelpViewer,HTMLHelpWorkshopincludestheHTMLHelpcompiler.Asingleclickallowsyoutocompile,view,andtestanychangesyouhavemadetoyourhelpfiles.

TheHTMLHelpcomponents

Page 301: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

TocompileahelpprojectfromtheDOSprompt

Page 302: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

AbouttheHTMLHelpImageEditorTheHTMLHelpImageEditorisanonlinegraphicstoolforcreatingscreenshots;converting,editing,andviewingimagefiles;andbrowsingthumbnailimagesforHTMLpages.

TheHTMLHelpImageEditorhastheseimportantfeatures:

Screencapturing

Fileconverting

Imageediting

Fileviewing

Artmanuscript

Inaddition,theHTMLHelpImageEditorfeaturesthefollowing:

YoucanhavemanyHTMLHelpImageEditorwindowsopenatonce;thenumberislimitedonlybytheamountofdiskspaceonyourcomputer.

TheHTMLHelpImageEditorsupportslongfilenamesandExchange/UNC(UniversalNamingConvention)paths.

TheHTMLHelpImageEditorfilescanbesentinane-mailmessageusingExchange.OntheHTMLHelpImageEditorFilemenu,clickSendMail.TheHTMLHelpImageEditorhastwofullscreenoptions:16-Color(topreviewwhatyourimagewouldlooklikereducedto16colors),andTiled(topreviewwhatyourimagewouldlooklikeasthebackgroundforaWebpage).

TheHTMLHelpComponents

Page 303: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

TheaccessibilitywordlistWordsinthislisteitherdescribephysicaldisabilitiesordescribefeaturesinsoftwareprogramsthatprovideaccesstouserswithdisabilities.

acceleratorkeysaccesskeysaccessibilityconcernsaccessibilityfeaturesaccessibleaccessingwithkeyboardadjustingforimprovedvisibilityadjustmentsforimpairedmotionorvisionALTtextalternativeinputdevicesappearanceApplicationkeyassigningassistivetechnologyAutoCompleteAutoCorrectAutoFillAutoTextbeepsdifficultyhearingturningoffturningonblindblindnessorlowvisionchangingsizeclickwiththekeyboardcognitiveimpairmentscolorblindcolorpalettecolorsadjustingforimprovedvisibilityusedasvisualcues,alternativestoControlPaneladjustmentsforimpairedmotionorvisioncursor,adjustingforimprovedvisibility

Page 304: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

customcustomshortcutkeyscustomizecustomizingdeafdeaforhard-of-hearingdeafnessdefaultbuttonsdialogboxesdefaultbuttonsdefaultvaluesnavigatingwithTABkeynavigatingwithSHIFT+TABkeyENTERkeydifficultyhearingdisabilitiesdisabilityconcernsdisableddocumentationinalternativeformatsonlinedyslexiaenlargeENTERkeyfocusfontsadjustingforimprovedvisibilitychangingsizecolorsformenusfortoolbarsfrequently-usedtexthandicappedhandicapshard-of-hearinghearingimpairmentshigh-contrasthotkeysimagedescriptions

Page 305: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

impairedhearing,motion,sight,orvisioninsertionpointadjustingforimprovedvisibilitykeycombinationskeyboardadjustmentsforimpairedmotionlayoutsforindividualswithimpairedmotionshortcutskeyboardcombinationskeyboardnavigationkeyboardshortcutskeystrokeshortcutskeystrokeslargebuttonslargefontslarge-printdocumentationlearningdisabilitieslowvisionmagnifymenus,accessingwithkeyboardmobilityimpairmentsmotionimpairmentsmotorimpairmentsmouseadjustmentsforimpairedmotionorvisionnavigatingnavigationindialogboxesinmenusintoolbarswiththekeyboardwiththemouseonlinepointer,adjustingforimprovedvisibilityprintinglistofreducedhearing,motion,orvisionright-clickwiththekeyboard(Shift+F10)scalescreenenlargement

Page 306: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

scrollseizuredisordersselectioncursoradjustingforimprovedvisibilityshortcutkeysassigningformenusindialogboxesfortoolbarsprintinglistofshortcutssightimpairmentssoundsoundsdifficultyhearingturningoffturningonspeechspeechimpairmentsspeech-to-texttextviewtext-to-speechtoolbarsaccessingwithkeyboardcustomizingvisionimpairmentsvisuallyimpairedvoiceinputWindowslogokeywiththekeyboardwiththemousewordlist,accessibilitywordpredictionzoom

Note

Itemsfromthewordlistcanalsobeaddedastableofcontentsentriesorasindexkeywords.Thiswillenableuserswithdisabilitiestoeasilyfindtheinformationtheyneedaboutyoursoftwareproduct.

Abouttheaccessibilitywordlist

Page 307: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

Tocreateanewiconstripforacontentsfileimagesshouldbefrom16through20pixelswide,andtheyshouldbeuniform.

Makesureyouriconstripbitmapcontainsatleast14images.Youriconstripbitmapmaycontainasmanyas42images.

Aligneachimagepreciselywithadjacentimages.Don'tputanyspacebetweentheimages.

Aboutcreatinganewiconstripforacontentsfile

Page 308: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

TodefineawindowtypefortheHelpViewer3. OntheGeneral,Buttons,Position,Files,NavigationPane,StylesandExtendedStylestabsselecttheoptionsyouwantfortheHelpViewer.

Note

TochangethenameoftheHelpViewer,openaproject(.hhp)file,clickAdd/ModifyWindowDefinitions,andthentypethenewnameintheWindowtypebox.

AboutcustomizingtheHelpViewer

Page 309: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

TospecifythesizeandpositionoftheHelpViewerorahelpwindowasizeandposition.

3. Ifyouwanttousedefaultpositions,clickDefaultPositions.4. Ifyouwanttospecifyanexactsizeandposition,clickAutosizer.A

samplewindowappears.Sizethesamplewindowbydraggingitsborders,andpositionitbydraggingitstitlebar.Whenyouaredone,clickOKinthesamplewindow.

Notes

YoucanalsospecifythesizeandpositionoftheHelpViewerorasecondarywindowbytypingvaluesintheLeft,Top,Width,andHeightboxes.TheLeftandTopboxesdetermineawindow'sposition.TheWidthandHeightboxesdetermineitssize.Youcanmixandmatchdefaultandspecificvaluesinthesefields.Forexample,youcanspecifythewidthandheightofawindow,andletHTMLHelpWorkshopdeterminethewindow'sleftandtoppositions.

TheHTMLHelpViewerwindowsizespecifiedwillincludethescreenspacetakenupbytheNavigationpane(unlessyoudonotincludeaNavigationpaneinyourwindowdefinition).

Ifyouareviewinghelpandchangethewindowortabpositions,thenewlocationsarestoredintheHh.datfile,whichislocatedinauser'sWindowsfolder.HelpauthorswhorepositiontheHelpViewerneedtodeletethisfileiftheywanttoviewthedefaultwindowandtabsettingssetupintheirprojectfile.

Aboutcreatinghelpwindows

Page 310: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

WorkingwithbookmarksBookmarksenableyoutolinktoaspecificlocationinahelptopicfromwithinthesametopic,orfromanotherfile.

Whatdoyouwanttodo?

Learnmoreaboutworkingwithbookmarks

Createabookmark

LinktoabookmarkinanotherHTMLfile

Aboutworkingwithlinks

Page 311: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

CreateatextlinkforHTMLHelpActiveXcontrolcommandsUsingtheHTMLHelpActiveXcontrolandJavaScript,youcancreatetextlinksinanHTMLfile(suchasaRelatedTopicslinks,Keywordlinks,orAssociativelinks)thathavethesameeffectasaddingabutton.Bydefault,theActiveXcontrolwilladdabuttontothehelptopic.Whenauserclicksthebutton,alistoftopicswillappear.Alternatively,theusercanclickatextlink.

Tocreateatextlinkyoumustuseascriptinglanguage,suchasJavaScript.YoureferenceaninstanceoftheActiveXcontrolandthecommandyouwanttouse,andthenlinkittothetext.FordetailedinformationaboutusingtheClickandHHClickmethodsfortextlinks,seetheHTMLHelpActiveXcontrolreference.

Whatdoyouwanttodo?

Learnhowtocreatealinktoacommandwithoutusingabutton

SeeanexampleofatextlinkusedwithanALink

Assignawindowtypetoatopicwhenlinking

Aboutworkingwithlinks

Page 312: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

Overviewtopictemplate

Tocopythetemplate,selectthetextfromthe<!DOCTYPE>tagtothe</HTML>endtag,right-click,andthenclickCopy:

<!DOCTYPEHTMLPUBLIC"-//IETF//DTDHTML//EN"><html><head><title>Exampleoverviewtopic</title></head>

<body>

<h1>Enterheadingforoverviewtopichere</h1>

<p>Enterfirstparagraphofoverviewtexthere.</p>

<p>Aparagraphwitha<ahref="example.htm">link</a>lookslikethis.</p>

<p>Thisparagraphintroducesthelistthatfollows:</p>

<ul><li>Firstitemofbulletedlistwitha<ahref="example.htm">link</a>init.<li>Seconditeminbulletedlist.<li>Thirditeminbulletedlist.</ul>

<p>Sometimesanotherparagraphfollowsthelist.</p>

</body></html>

Example:Helpauthoringtemplates

Page 313: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

Decisiontopictemplate

Tocopythetemplate,selectthetextfromthe<!DOCTYPE>tagtothe</HTML>endtag,right-click,andthenclickCopy:

<!DOCTYPEHTMLPUBLIC"-//IETF//DTDHTML//EN"><html><head><title>Exampledecisiontopic</title></head>

<body>

<h1>Enterheadingfordecisiontopichere</h1>

<p>Introductorytextgoeshere.</p>

<h4>Whatdoyouwanttodo?</h4>

<tableborder="0"cellpadding="0"cellspacing="0"><tr><tdvalign="top"><ahref="example.htm">Linktofirstprocedure</a></td></tr>

<tr><tdvalign="top"><ahref="example.htm">Linktosecondprocedure</a></td></tr>

</body></html>

Example:Helpauthoringtemplates

Page 314: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

Multi-stepproceduretopictemplate

Tocopythetemplate,selectthetextfromthe<!DOCTYPE>tagtothe</HTML>endtag,right-click,andthenclickCopy:

<!DOCTYPEHTMLPUBLIC"-//IETF//DTDHTML//EN"><html><head><title>Exampleproceduretopic</title></head>

<body>

<h1>Enterheadingformulti-stepprocedurehere</h1>

<ol>

<li>Dothefirsttask.

<li>Dothenexttask,whichmayhavea<ahref="example.htm">link</a>init.

<li>Dothelasttask.

</li></ol>

<h3>Note</h3>

<ul><li>Notetextgoeshere.</li></ul>

<tableborder="0"cellpadding="0"cellspacing="0"><tr><tdvalign="top"><ahref="example.htm">Linktoanotherprocedure</a></td>

Page 315: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

</tr></table>

</body></html>

Example:Helpauthoringtemplates

Page 316: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

One-stepproceduretopictemplate

Tocopythetemplate,selectthetextfromthe<!DOCTYPE>tagtothe</HTML>endtag,right-click,andthenclickCopy:

<!DOCTYPEHTMLPUBLIC"-//IETF//DTDHTML//EN"><html><head><title>Exampleone-stepproceduretopic</title></head>

<body>

<h1>Enterheadingforone-stepprocedurehere</h1>

<ul><li>Todothisprocedure,clickthe<b>Menuname</b>menu,andthenclick<b>command</b>.</li></ul>

<h3>Note</h3>

<ul><li>Notetextgoeshere.</li></ul>

<tableborder="0"cellpadding="0"cellspacing="0"><tr><tdvalign="top"><ahref="example.htm">Linktoanotherprocedure</a></td></tr></table>

</body></html>

Page 317: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

Example:Helpauthoringtemplates

Page 318: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

Source-codetopictemplate

Tocopythetemplate,selectthetextfromthe<!DOCTYPE>tagtothe</HTML>endtag,right-click,andthenclickCopy:

<!DOCTYPEHTMLPUBLIC"-//IETF//DTDHTML//EN"><html><head><title>Exampletopicthatcontainssourcecode</title></head>

<body>

<h1>Enterheadingforatopicthatcontainsasourcecodeexamplehere</h1>

<p>OpeneachHTMLfileyouwanttocontainasourcecodeexampleandaddthe<CODE></CODE>tagstothecode.ForindividualHTMLtags,youcantype&followedbylt;ontheleftsideofthetagand&followedbygt;ontherightsideofthetag(theexamplebelowshowshowtheseshouldappeararoundanHTMLtag).Thiscodeappearsinabrowserasgreaterthanandlessthansymbols().</p>

<p>ThisisawaytoimitateHTMLtagswithouthavingthetagsusedwhenthepageisopenedinabrowser.Thefollowingisanexampleformatforextendedcodeexamples:</p>

<code>&lt;STYLE&gt;BODY{font-family:times,serif;color:black;margin-left:10%;margin-right:10%;}A:link{color:black;text-decoration:underline}A:visited{color:black;text-decoration:none}&lt;/STYLE&gt;</code>

</body></html>

Example:Helpauthoringtemplates

Page 319: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

TohaveALinkorKLinktargettopicsappearonapop-upmenu3. IntheSpecifythecommandbox,clickALinkSearchorKLinkSearch.Ifyouaregoingtousescriptingtoaccessthecommand,entertheIDnametouseforthisinstanceoftheHTMLHelpActiveXcontrol.

4. ClickButtonifyouwanttheALinkorKLinkSearchcommandtoappearasabuttonorHiddenifyouwanttouseatextlinkforthisinstanceoftheHTMLHelpActiveXcontrol.

5. SelecttheDisplayonaPop-upMenucheckbox,andthenfollowtheinstructionsonyourscreen.

Notes

TopicsappearinaTopicsFounddialogboxbydefault.FormoreinformationaboutALinks,KLinks,andothercommands,seetheHTMLHelpActiveXcontrolreference.

Aboutworkingwithlinks

Page 320: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

TocreateaKLinkinanHTMLfiletoakeywordinatargetfileselecttheappropriatedisplaytypeandbuttonoptions.

4. IntheRelatedTopicsdialogbox,specifythekeywordsyouwanttojumpto.

Notes

YoumustaddkeywordstotheappropriatetargetfilesbeforetheKLinksearchwillwork.

AddingaKLinktoanHTMLfileaddsan<OBJECT>tagtoyourfile.Thisallowsyoutolinktoanyotherfilesthatcontainthekeywordsyouspecify.WhenauserclickstheKLink,anytopicsthatcontainthekeywordsyouhavespecifiedwillappear.

Tousethisfeature,yourhelpprojectmustbesetuptoincludekeywordsfromHTMLfiles.

FormoreinformationaboutKLinks,seetheHTMLHelpActiveXcontrolreference.

AboutworkingwithKLinks

Page 321: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

TocreateabinarycontentsfileNotesInformationtypesarenotsupported.

Aboutbinarycontentsfiles

Page 322: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

Touseanewiconstripinacontentsfilethatcontainstheimagesyouwanttouseinsteadofthedefaultimages.

4. Saveandclosetheprojectfile.

5. Reopentheprojectfile.

Note

Ifyouwanttousefoldersandpagesinsteadofbooksandtopics,clickContentsProperties,andthenselecttheUsefoldersinsteadofbookscheckbox.

Aboutcreatingtableofcontentsfiles

Page 323: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

Toflaganewtableofcontentsentry

Note

Aboutcreatingtableofcontentsfiles

Page 324: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

Tochangeatableofcontentsentrylevelfromafolderorbooktoapage

Note

Aboutcreatingtableofcontentsfiles

Page 325: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

Toapplyanicontoacontentsentry4. IntheImageindexbox,selecttheimageyouwanttoapplytothe

contentsentry.

Notes

Someiconsarenotsupportedinabinarytableofcontents.

Aboutcreatingtableofcontentsfiles

Page 326: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

AboutcreatinganindexfileTheindexfileyoucreateinHTMLHelpWorkshopisanHTMLfilethatusesasitemapandcanbeaddedtoaWebsite.Ifyouchoosetoincludeitaspartofacompiledhelp(.chm)file,thecompilerwillcompressthesitemapandcreateabinaryindex,whichtakesuplessspace.

Therearesomeimportantdifferencesbetweenbinaryandsitemapindexfilesthatcanhelpyoudecidewhichtypeyouwanttouse.

Notes

IfyouaredesigningahelpsystemusingtheHelpViewer,addinganindexfiletoyourhelpprojectwillalsocreatetheIndextabintheleftpaneoftheHelpVieweraftertheprojectiscompiled.

IfyouaredesigningforaWebsiteoryourownframeset,makesureyouaddtheHTMLHelpActiveXcontroltotheappropriatefilesandspecifyadefaultframetodisplayyourindexfile.

Createanindex

Page 327: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

EditanindexfileOnceyoucreateanindex,youcaneditorupdatethekeywordsandspecifyhowtheywillappeartotheuser.

Whatdoyouwanttodo?

Assignanalternatelocationfortopics

Assignawindowtypetoacontentsorindexentry

Createakeywordwithmultipletargets

Setanindexkeywordtojumptoanotherindexkeyword

Aboutcreatingindexfiles

Page 328: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

Toaddakeywordtoanindexfile4. IntheHTMLtitleslist,clickthetitleyouwanttoassociatewiththe

keywordor,intheFileorURLbox,typethepathforthefile,andthenclickOK.

5. Ifyouhavespecifiedanyinformationtypesandwanttoaddthemtothisentry,intheAvailableinformationtypesbox,clicktheinformationtypeforthekeyword.

6. Ifyouwanttojumptoanotherlocationifthefirstlocationyouspecifyisnotavailable,intheAlternateURLbox,enteranotherlocationforthekeyword.

Notes

Youcanmoveakeywordupordown,leftorright,byclickingtheMoveArrows.Youcanuseanunlimitednumberofindexlevels.

Aboutcreatingindexfiles

Page 329: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

TodefineaHiddeninformationtype4. IntheDescriptionbox,enteradescriptionoftheinformationtype.

Notes

usetheHiddeninformationtypeattribute.However,theabilitytoinvokethemthroughtheHTMLHelpAPIhasnotyetbeenimplemented.

YoucanalsocreateinformationtypesbyclickingPropertiesinacontentsorindexfile.

Thenameforaninformationtypecannotexceed255characters.

TopicswiththeHiddeninformationtypewillnotappearwhenausermakestheirselections.

AbouttheHiddeninformationtype

Page 330: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

ToautomaticallyhidetheNavigationpanetheAutomaticallyshow/hidenavigationpanecheckbox.

AboutcustomizingtheHelpViewer

Page 331: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

Tocreateafull-textsearchstoplist4. Addthe.stpfiletothesamedirectoryasyourproject(.hhp)file.

5. Addthestoplisttoyourprojectfile.

Page 332: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

SamplestoplistCopyanywordsfromthefollowingsamplethatyouwanttoincludeinyourstoplist:

aaboutafteragainstallalsoamonganandareasatbebecamebecausebeenbetweenbutbycancomedoduringeachearlyforformfoundfromhadhashave

Page 333: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

heherhishoweverinincludeintoisititslatelatermemedmademanymaymoremostnearnononnotofononlyorotheroverseveralshesomesuchthanthatthetheirthenthere

Page 334: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

thesetheythisthroughtounderuntilusewaswewerewhenwherewhichwhowithyou

Notes

Astoplistdecreasesthesizeofthefull-textsearchindex,whichresultsinasmallercompiledhelp(.chm)filebecausefewerwordsareindexed.Thisisespeciallyimportantifyouhavealargedocumentationset.Allwordsinthestoplistareomittedfromthesearch.Theseareusuallycommonlyoccurringwords,suchas"the,""and,"or"1"thatauserisunlikelytosearchfor.

Numberscanalsobeusedinastoplist.

Forthe1.3releaseofHTMLHelp,thesizeofthisfileislimitedto512bytes.

Donotsetthestoplistasread-only,itwillnotfunctionifthispropertyisset.

Aboutfull-textsearch

Page 335: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

TogeneratekeywordsfromHTMLfilesAboutworkingwithlinks

Page 336: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

ToviewanHTMLfileaspartofacompiledproject

Page 337: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

ToopenanHTMLfileandviewitssourcecode

Page 338: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

ToaddthemostcommonHTMLcharacterformattingtagstoyourfileNote

Page 339: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

TostoreHTMLtagsortextforlateruse4. IntheNameoftextblockbox,typeanameforthetextblock.5. IntheTextblockbox,enterthetagortext.

Note

Toeditastoredtag,clicktheTagsmenu,pointtoEditTextBlock,andthenclickthetagyouwanttoedit.

AboutcreatingHTMLtopicfiles

Page 340: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

TohaveRelatedTopicslinksappearonapop-upmenugoingtousescriptingtoaccessthecommand,entertheIDnametouseforthisinstanceoftheHTMLHelpActiveXcontrol.

4. ClickAsaButtonifyouwanttheALinkorKLinkSearchcommandtoappearasabuttonorHiddenifyouwanttouseatextlinkforthisinstanceoftheHTMLHelpActiveXcontrol.

5. SelecttheDisplayonapop-upmenucheckbox,andthenfollowtheinstructionsonyourscreen.

Notes

TopicsappearinaTopicsFounddialogboxbydefault.FormoreinformationaboutRelatedTopics,seetheHTMLHelpActiveXcontrolreference.

Aboutworkingwithlinks

Page 341: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

ToinsertthetagforaninstanceofthesectionInsertthefollowingtaginanHTMLfileatthelocationwhereyouwantthesectiontoappear:

<ahref="filename.htm"onmouseover="functionOn(id1)"onmouseout="functionOff(id1)"><spanID="id1"class="classname">GO</span></a>

Wherefilename.htmisthenameoftheHTMLfiletowhichyouwanttolink,functionOnisthenameoftheJavaScriptfunctionthatistriggeredwhenausermovestheircursoroverthesection,andfunctionOffisthenameoftheJavaScriptfunctionthatistriggeredwhentheuser'scursormovesoutofthesection.id1istheIDforthisinstanceofthe<SPAN>,andclassnameisthestyleclass.

Example

Thefollowingisatagusedforthedynamic"Go"linkintheHTMLHelpdocumentation:

<ahref="overbig.htm"onmouseover="liteGo(go1)"onmouseout="liteOff(go1)"><spanID="go1"class="endlink">GO</span></a>

Note

Ifyouplacemultipleelementsonthesamepage,eachonemusthaveauniqueID.

Page 342: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

ToinserttheJavaScriptcodeInsertthefollowingJavaScriptcodebetweenthe<HEAD>startandendtagsofanHTMLfile.

functionfunctionOn(idVar){idVar.style.attribute="value";}

functionfunctionOff(idVar){idVar.style.attribute="value";}

WherefunctionOnisthenameoftheJavaScriptfunctionthatchangesthestylewhenausermovestheircursoroverthesection,andfunctionOffisthescriptthatiscalledwhentheusermovestheircursoroffthesection.attribute="value"representsastyleattributethatchangeswhenthescriptiscalled.idVaristheIDoftheelement.

Example

ThefollowingistheJavaScriptcodeusedforthedynamic"Go"linkintheHTMLHelpdocumentation:

functionliteGo(spNo){spNo.style.background="#cc0033";spNo.style.color="#FFFFFF";}

functionliteOff(spNo){spNo.style.background="transparent";spNo.style.color="#000000";}

Note

Youcanuseaglobalscriptfiletomakeiteasiertomaintainscriptsthatareusedonmanypages.

Page 343: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

ToupdateyourstylesheetYoucanformatyoursectionbyupdatingyourstylesheetwithanewclass.Bydoingthis,youcanmakethesectionhaveacoloredborder,orsetaspecificcolorforthebackground.Youcanalsoaddstyleattributestospecifythespacing,margins,andoverallpositioningofthesection.

Example

Thefollowingisthestyleclassusedforthedynamic"Go"linkintheHTMLHelpdocumentation:

SPAN.classname{line-height:6pt;position:relative;top:1pt;background-color:transparent;font-weight:bold;font-size:7pt;font-style:italic;color:black;text-decoration:none;cursor:hand;width:20px;height:8pt;padding-top:-2pt;padding-bottom:1pt;margin:0pt;border-bottom:1ptsolid#cc0033;border-top:1ptsolid#cc0033;}

Backtothebeginning

Page 344: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

AboutscreencapturingYoucanusetheHTMLHelpImageEditortocapturethreetypesofwindows:programwindows,childwindows(windowswithintheprogramwindow),orthedesktop.Toperformthecapturesyoucanusekeyboardcommands,mousecapture,ortimedcapture.

Youcanstandardizecolorsforaseriesofcapturestoinsureconsistencyinthefinaloutput.

AbouttheHTMLHelpImageEditor

Page 345: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

AboutfileconvertingOnceyouhaveopenedanimageintheHTMLHelpImageEditor,youcanconverttheimagefiletoanyotherformatthattheprogramsupports.

IntheHTMLHelpImageEditor,inputcapabilitieshavebeenexpandedtoinclude:.gif,.jpg,.tga,.pcd,.png,and.wmffiles.Newoutputformatsinclude:.gif,.jpeg,and.tgafiles.

AbouttheHTMLHelpImageEditor

Page 346: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

AboutimageeditingTheHTMLHelpImageEditorenablesyoutodotwotypesofcolordepthreductionswithoptimized16-and256-colorpalettes,andtoobtainanexactcolorcountforeachimage.Optimizedscalingallowssizingofscreencaptureswithoutlossoftextclarity.

Expansionandcontractionenablesyoutoselectaspecificpixelsizeforanimage,andpaddingisaddedtothesidesortopandbottomtoachievethedesiredsize.

Automaticclipping,primarilyforscreencaptures,cleanlyclipsoutbordersandexcessareaaroundanimage.TheRe-read(orrevert)functionenablesyoutoreturntothelastsavedversionofafile.TheHTMLHelpImageEditoralsoenablesyoutoundouptonineactionsperfileduringaworkingsession.

AbouttheHTMLHelpImageEditor

Page 347: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

AboutfileviewingTheHTMLHelpImageEditorisoptimizedtoloadandscrollthroughmultipleimagesrapidly.

Youcanspecifyfilters,suchascolordepthandinterlacing,whenviewingimagestolimitwhatyouseeintheimage.Thisisusefulfortestinganddebuggingimagedisplayproblems.

Youcanviewimageswithinthedesktop,centeredonthefullscreen,tiledonthefullscreen,orpreviewedas16-colorimagesonthefullscreen.ThetiledviewisaveryhandyfeatureforcreatingHTMLimagebackgrounds.

AbouttheHTMLHelpImageEditor

Page 348: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

AboutartmanuscriptsUsetheartmanuscriptfeatureintheHTMLHelpImageEditortocreateorupdateacatalogoftheartinyourproject.ThemanuscriptitselfisanHTMLfilethatcontainsathumbnailimageofeachpieceofart.Fromyourmanuscript,youcanclickonthethumbnailimagestoaccesstheindividualartfiles.

AbouttheHTMLHelpImageEditor

Page 349: Help for HTML Help · As a help author, one of your most important design considerations is setting up a clear and simple pattern to quickly get users to the help content they need

Tocreatealinktoacommandwithoutusingabutton2. ClickHTMLHelpActiveXControl.3. IntheSpecifythecommandbox,clickacommand.Youmustenter

theIDnametouseforthisinstanceoftheHTMLHelpActiveXcontrolbecauseyouwillusescriptingtoaccessthecommand.

4. ClickNext,andthenclickHiddentospecifythatyouwillbescriptingthisuseofthecontrol.

5. Selecttheappropriatedisplaytypeandbuttonoptions,andthenaddtheALinknamesyouwanttojumpto.

6. AddtheappropriateJavaScripttotheHTMLfiletocreateatext,graphic,orotherlinktothecontrol.

Note

ThisprocedurecanbeusedwithanyoftheHTMLHelpActiveXcontrolcommandsthatprovideabuttonbydefault.Itisuseful,forexample,whenyouwanttocreateaRelatedTopicslink,KLink,orALinkinanHTMLfileusingatextlink.Insteadofclickingabutton,theuserclicksthetextlink.

Formoreinformationaboutcommands,seetheHTMLHelpActiveXcontrolreference.

Aboutworkingwithlinks