View
0
Download
0
Category
Preview:
Citation preview
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
NewfeaturesinthisreleaseMicrosoft®HTMLHelpversion1.3containsthesenewfeatures:
Satellite.dllfilesenablehelpinallsupportedlanguages.Nowhelpwillalwaysmatchthelanguageoftheinstalledoperatingsystem.
ThereisnowasingleversionofHhupd.exethatworksinallsupportedlanguages.
NOTE:TheseenhancementsaredesignedtomakeHTMLHelpfullycompliantwiththelanguagefeaturesofMicrosoftWindows®2000.FormoreinformationonmultiplelanguagesupportinWindows2000,seetheMultilanguageSupportwhitepaperontheMicrosoftWindows2000Website.
IntroducingHTMLHelp
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
DesigningahelpsystemThebigpicture
Getanoverviewofwhatcomponentsareinahelpsystem,andhowHTMLHelpassistsyouincreating,managing,organizing,compiling,andtestinghelpfiles.GO
Learnaboutaccessibilityanddisabilityconcerns
Startahelpsystemdesign
Designhelp
DesignforaWebsite
IntroducingHTMLHelp
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
MakingyourhelpsystemaccessibleYourhelpsystemshouldcontaininformationonhowuserswithdisabilitiescanuseyoursoftwareandyouronlinehelp.Theaccessibilitywordlistwillhelpyouidentifysomeofthemostcommontermsusedtorefertodisabilities.Itcanalsoserveasachecklistforidentifyingandcreatingtopicsaboutthefeaturesinyoursoftwareprogramthatcanhelpuserswithdisabilities.
Informationondevelopingaccessiblesoftware,Websitedesigns,andrecommendationsonmakingHTMLcontentmoreaccessible,isalsoavailableontheMicrosoftAccessibilityandDisabilitiesWebsite.
TheHTMLHelpViewercontainsshortcutkeysandotherfeaturesthatmaketheHelpVieweraccessibleforusers.ThesefeaturesaredocumentedintheHelpViewertopics.Youcanincludethesetopicsinyourownhelpsystemsothatyouruserswillalsobeawareofthem.
Designingahelpsystem
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
usertodownloadyourfiles.
Startahelpsystemdesign
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
PlanningatableofcontentsAddingatableofcontentstoyourhelpsystemprovidesuserswithahierarchicalviewofthecontent.Usersclickatopiclistedinthetableofcontents,andaretakendirectlytotheinformationtheyarelookingfor.
Youcandesignyourtableofcontentssothatthetopicscontainedinyourhelpsystemareorganizedbysubjectorbycategory.Youcanorganizeyoursubjecttopicsinthetableofcontentsusingiconsthatidentifymaintopicsandsubtopics.Forexample,ifyouusethedefaulticons,HTMLHelpWorkshopprovidesa"folder"iconformaintopicsanda"page"iconforsubtopics.Youcanchangethedefaulticonsorcreateyourowncontentsicons.IfyouaredesigningatableofcontentsforaWebsite,specialiconsindicatingneworupdatedtopicsareavailabletohelpusersquicklyscanthetableofcontentsfornewinformation.
Youcanindenttopictitlessotheyareeasierforausertoseewhentheyarescanningthelistoftopics.IfyouaredesigningatableofcontentsthatwillusetheHelpViewer,youcancustomizethewaytheNavigationpaneoftheHelpViewerlooks.
Ifyouaredesigningyourownframeset,youcanaddHTMLdesignelementstocustomizetheframetowhichyouaddtheHTMLHelpActiveXcontrol.
Itemsfromtheaccessibilitywordlistcanbeaddedastableofcontentsentriessothatdisableduserscaneasilyfindtheinformationtheyneedaboutyoursoftwareproduct.
Startahelpsystemdesign
MakingtopicorWebpageconnectionsAsahelpauthor,oneofyourmostimportantdesignconsiderationsissettingupaclearandsimplepatterntoquicklygetuserstothehelpcontenttheyneed.
AnHTMLhelptopicorWebpageispartofacollectionofsimilarhelptopicsorWebpagesthatmakeupahelpsystemorWebsite.WhenauserbrowsesthetopicsinyourhelpfileorWebsite,theyjumpfrompagetopagebyclickinghyperlinks.Alinkisaword,phrase,orimagethatishighlightedandjumpstoaspecifiedlocationwhentheuserclicksit.
IfyouaddtheHTMLHelpActiveXcontroltoyourhelptopicsorWebpages,youcanconnectuserstoinformationbycreatingatableofcontentsorindexforyourtopics.YoucanaddbuttonstothebuttonbarintheHelpViewerortothewindowsyoudesigninordertohelpusersnavigatetoinformation.
Helptopicsalsocanbedesignedascontext-sensitivetopicsthatappearinapop-upwindowwhenauserright-clicksadialogbox.
Startahelpsystemdesign
DesigningatopictemplateYoucancreateHTMLtopictemplatestogreatlyreducetheamountoftimeittakestocreateeachtopicfile.AtopictemplateisanHTMLfilethatcontainsallthefont,style,heading,anddesignelementsyouusemostfrequently.TopictemplatescanbeusedasthebasisforallthecontentinyourhelpsystemorWebsite.
Designyourtemplatestocontainallthebasicelementsahelpauthorwillneedtocreateaspecifictopictype.Forexample,inaninformationsystemcontainingmanyoverviewtopics,youcancreateanOverviewtemplatethatcontainsallthebasicstyleanddesignelements,inadditiontoboilerplatetext.
Startahelpsystemdesign
DesigningastylesheetThestylesheetlanguagemostcommonlyusedontheWorldWideWebisknownascascadingstylesheets(CSS).Whendesigningastylesheet,youusetheCSSspecificationssetupbytheWorldWideWebConsortium(WC3),theorganizationthatdevelopscommonprotocolsfortheWorldWideWeb.TheCSSspecificationandotherinformationabouthowcascadingstylesheetsworkisavailablefromtheW3CWebsite,alongwithinformationaboutotherstylesheetprotocols.
Byusingacascadingstylesheet,youcanensuredesignconsistencyacrossallyourhelpfilesorWebpages.Forexample,youcanincludestandardcolorsandimagesinyourstylesheetthatwillbeappliedtoallofthefilesinyourhelpsystem.
Startahelpsystemdesign
DesignhelpThesetopicscontaininformationofspecialinterestwhenplanningahelpsystemthatwillshipwithaprogram.
Youcancreateuniquehelpsystemwindowdesigns.
Youcandesigncontext-sensitivehelpforyoursystem.
Youcancreatetrainingcardsforyourhelpsystem.
Youcanaddshortcutstoyourhelptopics.
Designingahelpsystem
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
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
Designingcontext-sensitivehelpYoucancreatecontext-sensitivehelpformanyofyourprogram'sinterfaceelements.Indialogboxes,userscandisplayhelpbyclickingthequestionmarkinthetitlebarofadialogbox,andthenclickinganitemwithinthedialogbox.InWindows,usersalsocandisplayhelpbyright-clickinganitem,clickingWhat'sThis?,andthenclickinganinterfaceelement.
Designhelp
DesigningtrainingcardhelpWithtrainingcardhelp,youcancreateHTMLhelptrainingcardfilesthatcommunicatedirectlywithaprogram.Thehelpfilecansendinstructionstotheprogram,oritcanreceiveinstructionsfromtheprogram.Becausemostoftheworkhappensintheprogramcode,helpauthorsandsoftwaredevelopersmustworktogethertocreatetrainingcardhelp.
Youcanusetrainingcardhelptodesigntopicsthatautomaticallyguideusersthroughtasksinaprogram.Forexample,thehelptopiccandisplaythefirststepinaprocedure.Whentheusercarriesoutthestepcorrectly,thetopicautomaticallydisplaysthesecondstep.Iftheusermakesamistake,theprogramorahelptopiccandisplayamessagedescribingtheerror.
Ahelpauthoralsocanusetrainingcardhelptocreatetroubleshootingtopicsthatinitiateproblem-solvingactionsinaprogram,orthatentersettingsinaprogrambasedonquestionstheuseranswers.Trainingcardhelpcanbeacomplexpathofinterconnectedtopics,orasingletopicthatcontainsonlyonecalltothesoftwareprogram.
Designhelp
DesignforaWebsiteWhenplanningaWebsitethatusescomponentsofHTMLHelp,considerthefollowing:
Createthetopic,contents,indexandotherfilesforyourWebsite.
DecideifyouwanttoregisteryourWebsitewithanysearchengines.
PlanforupdatingandmanagingyourWebsite.
Designingahelpsystem
DistributingtopicsovertheInternetAsyouplanyourhelpWebsiteandauthoryourhelptopics,you'llwanttoconsiderwhetheryouaredevelopingtopicsfortheInternetorWorldWideWeb,foranintranetorprivateWebsite,orforanextranetorcommercialWebsitewithconnectionstoconsumerdatabases.
DesignforaWebsite
RegisteringaWebsitewithsearchenginesManypeoplebrowsetheInternetforinformationbyusingsearchenginestolocateWebsites.IfyouaredesigningahelpsystemfordistributionontheInternet,youcanregisteritwiththemorepopularsearchengines.TheseincludeYahoo,Lycos,Excite,Webcrawler,AltaVista,andInfoseek,manyofwhichcanbereachedifyouopenMicrosoftInternetExplorer,andthenclickSearch.
Theremayalsobeothersearchenginescommonlyusedbythoseinyourcompany,organization,orprofessionthatyoucanregisterwith.Byregisteringwithoneormoresearchengines,youcanmakeyoursiteeasiertofindandincreasetraffictoit.
EachsearchenginehasitsownrequirementsforaddingaWebsite.ThehomepageforeachsearchengineusuallyhasalinktoaregistrationpagecontaininginformationabouthowtoaddyourWebsite.
DesignforaWebsite
UpdatingandmanagingaWebsiteAfteryoucreateahelpWebsite,animportanttaskisupdatingandmanagingtheinformation—makingsurethatyourhelpWebpagesarekeptup-to-dateandcorrect.Nothingismoreannoyingtoauserthanfindingapagethatcontainsoutdatedinformation.TomakesurethisdoesnothappentoyourhelpWebsite,scheduletimetomakechangestoyourWebpagesandtovalidateallcontentandlinks.
Agoodsitemanagementandupdatingplanshouldincludethefollowingtasks:
Addingnewhelpcontentandinformation.
Updatingexistinghelpcontentandinformation.
Verifyingfilelocations(forexample,contentsandindexfiles).
Verifyinginternallinkstoyourpages.
Verifyinglinkstootherpages.
DesignforaWebsite
CreatinghelpCreateahelpproject
TheHTMLHelpproject(.hhp)fileorganizesallelementsofahelpsystem.ItcontainspointerstoalloftheHTMLtopic,image,index,andcontentsfilesinahelpproject.Youcanalsoaddlinkstoyourfilesandassigninformationtypes.GO
Customizehelp
Compileandtesthelp
Hookuphelptoaprogram
Managelargedocumentsets
IntroducingHTMLHelp
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
CreatingaprojectfileAhelpproject(.hhp)filecontainsinformationaboutthelocationofyourHTMLtopicfiles,contents(.hhc)files,index(.hhk)files,image(.png,.jpeg,.gif)files,andotherfiles.Projectfilesalsocontainhelpwindowdefinitionsandotheroptionsthatcustomizethewayahelpsystemfunctions.
Whatdoyouwanttodo?
Createanewhelpprojectfile
Addfilelocationstoaprojectfile
Customizehelpwindowdefinitions
Compileahelpproject
Testahelpfile
Edithelpprojectoptions
Aboutcreatinghelpprojectfiles
Addingindex,contents,andimagelocationsThemostimportantinformationthatyouprovideinaprojectfileisthelocationofyourHTMLtopic,contents(.hhc),andindex(.hhk)files.ThisenablesHTMLHelpWorkshoptofindalltheinformationitneedstocompileahelpfile.
Whatdoyouwanttodo?
AddorremoveHTMLtopicfilesfromaprojectfile
Specifythelocationofindexfiles
Specifythelocationofcontentsfiles
Specifythelocationofimageandmultimediafiles
Aboutcreatinghelpprojectfiles
EditingprojectoptionsYoucreateatitleforyourhelpfile,setwhichtopicwillappearbydefault,andselectwhichitemstodisplaywhencompilingyourfilesinthe[OPTIONS]sectionoftheprojectfile.
Youalsousethe[OPTIONS]sectiontonamethecompiledfile,logfile,andURLrootlocation.Andfinally,thissectionindicateswhichlanguageyourfilewillbein,andwhichcontentsandindexfileswillbeaddedtoyourhelpproject.
Whatdoyouwanttodo?
Specifyalocationforacompiledhelpfile
Specifyalocationforthehelplogfile
Specifyatitleforacompiledhelpfile
SpecifythedefaultHTMLtopicfileforacompiledhelpfile
Specifythelanguageforthehelpfile
Hidecompilermessages
Specifythatfoldersberemovedfromcompiledhelpfile
Abouthelpprojectsfiles
SettingHelpWorkshoppreferencesforprojectsYoucanchangehowHTMLHelpWorkshopoperatestosuityourworkstyle.Youcanmodifyhowhelpprojectsload,andenablesoundforprojectssoyoucanlistenwhileworkingonprojects.Youcanalsochoosehowcontentsandindexentrieswillrespondwhenyousingle-clickordouble-clicktheminHTMLHelpWorkshop.
Whatdoyouwanttodo?
Automaticallyloadthelastprojectfileworkedon
EnablesoundinHTMLHelpWorkshop
Changethefontwhenviewingthecompilermessagelog
Setactionstotakewhensingle-ordouble-clickingacontentsentry
Setactionstotakewhensingle-ordouble-clickinganindexentry
Aboutcreatinghelpprojectfiles
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
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
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
UsetopictemplatesAnHTMLtopictemplateisafilethatcontainsallthefont,style,heading,anddesignelementsyouusemostfrequently.YoucancreateHTMLtopictemplatestoformatallthecontentinyourhelpsystemorWebsite.Youcanviewsomeexampletopictemplatestogetanideaofhowtheymightbeconstructed.
AboutcreatingHTMLtopicfiles
CreatingatopictemplateHavingatopictemplatecaneasetheprocessofcreatingnewtopicsbyprovidingaframeworktobuildon.Usingtopictemplatescanalsohelptoensureconsistencythroughoutyourhelpproject.
Tocreateatopictemplate
1. CreateanHTMLfileandaddthesampletext,fields,tables,forms,andotherdesignelementsthatallthefilesofthistypeshouldcontain.
2. Addboilerplatetexttomakeiteasytoidentifyeachelement.
Notes
Togetabetterideaofhowatopictemplatemightlook,youcanviewthetopictemplates.
YoucanreducethetimeittakestocreateindividualhelpfilesorWebpagesbydistributingatemplatetoalltheauthorsworkingonahelpsystemorWebsite.
Aboutusingtopictemplates
Example:TopictemplatesThefollowingaresomeofthetemplatesyoucanusetocreateyourhelpfiles:
Decisiontopictemplate
Multi-stepproceduretopictemplate
One-stepproceduretopictemplate
Source-codeexampletopictemplate
Aboutusingtopictemplates
UsecascadingstylesheetsAcascadingstylesheetisaseparateHTMLfilethatkeepstrackofdesignandformatinformationsuchasthecolors,fonts,fontsizes,andmarginsyouuseinyourhelpfilesorWebpages.BylinkingyourHTMLfilestoacascadingstylesheet,youcaneasilycreateaconsistentdesignforallofyourfiles.
Forexample,supposethatyouselectabackgroundcolor,colorsforyourlinksandtext,andfontsforeachheadinglevelinyourfiles.Insteadofspecifyingthatinformationineachfile,youcancreateastylesheet.Whenyouwanttochangethosesettingsinallyourfiles,youchangeonlythestylesheet.
Youcanalsocreateaseparatestylesheetfordifferentdisplaydevices.Forexample,youcanuseastylesheettoaddresstheformattingconcernsofBraillereaders,text-to-speechconverters,printers,orspecializedbrowsersthatunderstandthestyle-sheetinstructions.
CreateHTMLtopicfiles
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
Example:CascadingstylesheetIfyourusershaveMicrosoftInternetExplorerversion3.02astheirbrowser,youwillneedtoshiptwoseparatecascadingstylesheets.YouneedtocreateonestylesheetworkswithMicrosoftInternetExplorerversion3.02andanotherthatworkswithInternetExplorerversion4.0.
Bothcanbeusedasexternalstylesheetsandattachedtoeachfileusingthe<LINK>tag:
SampleofanInternetExplorer3.02cascadingstylesheet.
SampleofanInternetExplorer4.0cascadingstylesheet.
Aboutusingcascadingstylesheets
CreatinglinkstootherhelpfilesHowyoulinktoanothercompiledhelp(.chm)filedependsonhowyouwantthehelpfileoratopictoappear.
Forexample,youcanlinkfromaWebpagetoacompiledhelpfile,orfromacontentsorindexentryintheHelpViewertoatopicinanotherhelpfile.Thetypeoflinkyouusedependsonthelocationyouarelinkingfromandwhereyouwanttolinkto.
Youcanlinktoacompiledhelp(.chm)fileusingastandardHTMLlink:
OpenacompiledhelpfilefromaWebpageortopicfile.
Openacompiledhelpfilefromacontentsorindexentry.
However,usingthismethodyoucannotopenaspecifictopicinacompiledhelpfile.Thefilewillopenwiththedefaulttopicdisplayed.
Alternatively,youcancreatealinktoaspecifictopicinacompiledhelpfileanddisplayitinyourcurrentbrowserwindowortheHelpViewer.Usingthismethod,youcan:
LinktoatopicinacompiledhelpfilefromaWebpageortopicfile.
Linkfromacontentsorindexentrytoatopicinanothercompiledhelpfile.
LinkfromatopicinaWinHelpfiletoatopicinanHTMLHelpfile.
Aboutworkingwithlinks
WorkingwithKLinksYoucanuseKeywordlinks(KLinks)tolinkbetweenHTMLfilesandtobuildanindex.
Whatdoyouwanttodo?
LearnmoreaboutworkingwithKLinks
AddaKLinkkeywordtoanHTMLfile
LearnaboutworkingwithALinks
LearnaboutthedifferencebetweenALinksandKLinks
Aboutworkingwithlinks
WorkingwithALinksAssociativeLinks(ALinks)canbeusedbyahelpauthortolinkrelatedtopicstoeachother.WhenauserclicksalinkthatisassociatedwithanALinkname,adialogboxorpop-upmenuappearsthatcontainsalistofthetargettopicsthatcontaintheALinkname.UnlikeKeywordLinks(KLinks),ALinknamesdonotappearintheindex.
Whatdoyouwanttodo?
LearnmoreaboutworkingwithALinks
CreateanALinkinatopicthatlinkstoatargetfile
AddanALinknametoatargetHTMLfile
SeeanexampletextlinkthatusesanALink
LearnaboutthedifferencebetweenALinksandKLinks
WorkwithKLinks
Aboutworkingwithlinks
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
CreateatableofcontentsfileThehelptableofcontents(.hhc)fileisanHTMLfilethatcontainsthetopictitlesforyourtableofcontents.Whenauseropensthetableofcontentsinacompiledhelpfile(oronaWebpage)andclicksatopictitle,theHTMLfileassociatedwiththattitlewillopen.
UsingHTMLHelpWorkshop,youcan:
Createatableofcontents.
CreateatableofcontentsforaWebpage.
CreatecontentsentriesthathavelinkstotopicsstoredonaWebsite.
Customizetheappearanceofyourcontentsfile.
Assigninformationtypestocontentsentriestoselecttheaudiencetopicswillbedeliveredto.
Createcontentsfilesforlargedocumentsets
Aboutcreatinghelp
CreatingacontentsfileYoumakeatableofcontentsbycreatingacontents(.hhc)file.
Notes
filetoyourhelpprojectcreatestheContentstabintheNavigationpaneoftheHelpVieweroncetheprojectiscompiled.
IfyoudesignforaWebsiteoryourownframeset,makesureyouaddtheHTMLHelpActiveXcontroltotheappropriatefilesandspecifyadefaultframetodisplayyourcontentsfile.
Whatdoyouwanttodo?
Createanewcontentsfile
Automaticallygenerateatableofcontents
Editorupdateatableofcontents
Changeorcreateiconsforcontentsentries
Aboutcreatingtableofcontentsfiles
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
CustomizingatableofcontentsIfyouarecreatingacontents(.hhc)filethatwillappearintheHelpViewer,youcancustomizehowthewindowlooksandhowcontentsentriesintheNavigationpaneappear.
Whatdoyouwanttodo?
Learnmoreaboutcustomizingatableofcontents
ModifytheNavigationpaneintheHelpViewer
Customizetheappearanceofacontentsfile
Changeorcreateiconsforcontentsentries
Specifythedefaultframeinacontentsorindexfile
Aboutcreatingtableofcontentsfiles
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
CreateanindexfileTheindex(.hhk)fileisanHTMLfilethatcontainstheindexentries(keywords)foryourindex.Whenauseropenstheindexinacompiledhelpfile,oronaWebpage,andclicksakeyword,theHTMLfileassociatedwiththekeywordwillopen.
UsingHTMLHelpWorkshop,youcan:
Createanindex.
CreateanindexforaWebpage.
Createkeywordswithmultipletargets.
CreatekeywordsthathavelinkstootherhelpfilesortoWebpages.
Createakeywordthatjumpstoanotherkeyword(similartoaSeeAlsoinabookindex).
Assigninformationtypestokeywords.
Setakeywordtobeinactive.
AfteryouhavecreatedahelpsystemoraWebsite,youcanviewtheindexfileintheHelpViewerorbyusingaWebbrowser.
Aboutcreatinghelp
CreatinganindexfileAgoodindexfilehelpsuserstolocatetheinformationtheyneed.HTMLHelpWorkshopprovidesthetoolsneededtocreateandeditanindexfileforyourhelpsystem.
Tocreateanindexfile
1. OntheFilemenu,clickNew,andthenclickIndex.2. Addkeywordstotheindex(.hhk)fileyouhavecreated.Ifyouplanto
useyourindexonlyonaWebsite,youcancreateasitemapindex.
Notes
IfyouaredesigningahelpsystemusingtheHelpViewer,addinganindexfiletoyourhelpprojectwillalsocreatetheIndextabintheNavigationpaneaftertheprojectiscompiled.
IfyouaredesigningforaWebsiteoryourownframeset,makesureyouaddtheHTMLHelpActiveXcontroltotheappropriatefilesandspecifyadefaultframetodisplayyourindexfile.
Ifyoucompileahelpfileandsetthecompatibilitytoversion1.0,asitemapindexwillbecreated.
Aboutcreatingindexfiles
CreatingakeywordThemethodyouuseforcreatingkeywordsdependsonwhatkindofindexyouareauthoringfor.
Whatdoyouwanttodo?
Createkeywordsforabinaryindex(usedwithcompiledhelpfiles)
Createkeywordsforasitemapindex(worksonaWebsite)
Learnaboutthedifferencebetweenbinaryandsitemapindexes
Aboutcreatingindexfiles
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
AssigninformationtypesInformationtypesallowyoutocustomizeyourhelptopicstospecifythatdesignatedtopicswillreachaparticularaudience.Toachievethis,youcreatecategoriesandinformationtypes,selectattributesforthem,andassignhelptopicstothem.
InformationtypeshaveanExclusive,InclusiveorHiddenattribute.ByassigningoneormoreinformationtypeswithanInclusiveorExclusiveattribute,youcandeterminewhichtopicsagroupofuserswillseeinthetableofcontents.ByassigningaHiddenattribute,youcaninvoketheHTMLHelpAPItoconnecttopicstoeventsinaprogram.
Aboutcreatinghelp
CreatinginformationtypesYoucanassigninformationtypestoentriesinthetableofcontentsbasedonwhichusersyouwanttopicstoreach.Besuretoplanaheadbecauseinformationtypesaredifficulttoremoveonceyouaddthemtoahelpproject.
Whatdoyouwanttodo?
Learnmoreaboutcreatinginformationtypes
Defineinformationtypeswhennotusingcategories
Definecategoriesandinformationtypes
Assignaninformationtypetoatableofcontentsentry
Learnaboutinformationtypeattributes
Makeinformationtypeselectionavailabletousers
Removecategoriesandinformationtypesfromaproject
Aboutassigninginformationtypes
CreatingcategoriesforinformationtypesCategoriesallowyoutogroupinformationtypesintoeasilyreferencedsubjectareas.Youmight,forexample,createacategorynamedExperienceLevel,andthenassignthefollowinginformationtypestothecategory:Novice,Intermediate,andAdvanced.
Categoriesarenotrequired.Ifyouusethem,youmustassignallinformationtypestoacategory.
Whatdoyouwanttodo?
Learnmoreaboutcreatingcategoriesforinformationtypes
Definecategoriesandinformationtypes
Assignaninformationtypetoatableofcontentsentry
Makeinformationtypeselectionavailabletousers
Removecategoriesandinformationtypesfromaproject
Aboutassigninginformationtypes
Example:usinginformationtypesAssigninginformationtypestotopicsisahelpfulwaytogetrelevantinformationtosubsetsofusers.Herearesomeexamplesofhowyoumightuseinformationtypes:
usersasyouraudience.Youdefineinformationtypesthatidentifyeachtopicinthetableofcontentsaccordingtowhichtypeofuseritisauthoredfor.
Yoursoftwareisbrokenintocomponents.However,notallcomponentsareincludedwhenyoushipyoursoftwareanditsdocumentationtoothercountries.Youcandefineinformationtypestodisplayonlythosetopicsforthecomponentsthatareshipped.
Onecomponentofyoursoftwareprogramisusedprimarilybydevelopers,whileanotherisusedprimarilybytesters.Youcanassigninformationtypestoyourtopicssothattestersneedtoinstallonlythehelptopicsrelevanttothem.
Youarecreatingseparateintroduction,overview,andstep-by-steptopics.Youcanassigninformationtypestotableofcontentsentriesforeachtopictype.
Yourdocumentationisforaproductthatrunsonmultipleoperatingsystems.Youcandefineinformationtypesthatidentifyanddisplaytopicsaccordingtotheoperatingsystemtheuserisrunning.
Aboutassigninginformationtypes
CustomizehelpTherearemanywaysyoucancustomizethewayyourhelpfilesappeartotheuser.YoucancustomizetheHelpViewer,thethree-panedwindowthathelptopicsautomaticallyappearin,andyoucancreateandcustomizesecondarywindowstodisplaytopicsin.
Aboutcreatinghelp
CustomizetheHelpViewerIfyouareplanningtodistributeyourhelpfileswithaprogram(insteadofonaWebsite),youcanuseHTMLHelpWorkshoptocustomizetheHelpViewer.TheHelpViewerisawindowwiththreepanesthathelptopicsautomaticallyappearin.
YoucanchangetheHelpViewer'ssize,position,backgroundcolor,andotherattributes.Youcanmakechangestojustoneofthepanes,orallofthem.YoucanalsohavetheNavigationpaneautomaticallyhidewhenauserclicksoutsidetheviewer.
YoucanaddaHelpFavoritestabtotheNavigationpane.Ifyouareshippingalargecollectionofhelpfiles,youmaywanttoaddtheAdvancedFull-TextSearchfeaturestotheSearchtab.
AnotherwaytocustomizeyourHelpVieweristoaddsecondarywindowstoit.Asecondarywindowisacustomwindowthathelptopicscanbeassignedtoappearin.Youhavetocreateasecondarywindowanddefineitsvariousdisplayfeaturesbeforeyoucanspecifywhichtopicstodisplayinit.
Note
YoucanalsodownloadHelpViewertopics,whichcontainbasicinformationabouthowtousetheviewer,fromtheWebandincludetheminyourhelpsystem.
Aboutcustomizinghelp
AddingaSearchtabASearchtaballowsausertosearchthrougheverywordinacompiledhelp(.chm)file.
Whatdoyouwanttodo?
LearnmoreaboutaddingaSearchtabtotheNavigationpane
AddaSearchtabtotheNavigationpane
Enablefull-textsearch
Addafull-textsearchstoplisttoahelpproject
LearnaboutthedifferencebetweentheIndextabandtheSearchtab
AboutcustomizingtheHelpViewer
AddingaFavoritestabAddingaFavoritestaballowsausertocreateapersonalizedlistoffavoritehelptopics.Thislistissavedsoitwillappeareachtimethehelpfileisopened.ToseeanexampleofHelpFavorites,clicktheFavoritestabinthishelpfile.
ToaddaFavoritestabtotheNavigationpane
1. Openaproject(.hhp)file,andthenclickAdd/ModifyWindowDefinitions.
2. ClicktheNavigationPanetab.3. IntheWindowtypebox,clickthewindowyouwant,andthenselect
theFavoritestabcheckbox.
Note
Afteryouaddanewtab,youmaywanttoadjustthewindowsizeandpositionoftheHelpViewertoaccountforthenewspacethetabusesinthenavigationpane.
AboutcustomizingtheHelpViewer
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
CreatingsecondarywindowsAsecondarywindowisacustomwindowthatyoucancreateandusetodisplaytopicsinsteadof,orinadditionto,theHelpVieweroracustomframeset.Youcandefineupto255secondarywindows,anduserscandisplayupto9ofthesewindowsatatime.
Note
YoucancustomizeasecondarywindowtohavethesamefeaturesastheHelpViewerortohavefewerfeatures.
Whatdoyouwanttodo?
Addasecondarywindow
CreateawindowwithoutaNavigationpane
Assignawindowtypetoacontentsorindexentry
Assignawindowtypetoatopicwhenlinking
Specifythetitleforahelpwindow
Changethesizeandpositionofawindow
Addbuttonstohelpwindows
Specifyfilelocationsforwindowtypes
Makechangestotheoverallstyleofhelpwindows
Aboutcreatinghelpwindows
Creatingapop-upwindowApop-upwindowisawindowthatappearsontopofahelptopic.Thepop-upwindowsizesautomaticallytofittheamountoftextorthesizeoftheimageinit.Pop-upwindowsremainonthescreenuntilusersclickanywhereinsideoroutsideofthem.Youcanusepop-upwindows,forexample,tocreatepop-upglossarydefinitions.
Youcanalsocreatecontext-sensitivepop-uphelp,whichisaccessedfromaprogram.
Whatdoyouwanttodo?
Createapop-upwindow
Testchangesinthebackgroundorforegroundcolorofapop-upwindow
Aboutcreatinghelpwindows
CreatingembeddedhelpwindowsAnembeddedwindowisacustomwindowthatyoucancreateandusetodisplaytopicsinsteadof,orinadditionto,theHelpViewer,asecondarywindow,oracustomframeset.
Dependingonyourdesign,usinganembeddedwindowtodisplaytopicsrequiresmoreinteractionbetweenhelpauthorsandsoftwaredevelopersthantheotherwindowtypes.Typically,ahelpauthorcreatesthedesignandtopicsforanembeddedwindowandthehelpdeveloperusestheHTMLHelpAPItohookitup.
Note
Toseeanexampleofanembeddedhelpwindow,opentheHTMLHelpImageEditor,clicktheHelpmenu,andthenclickHelpTopics.
Aboutcreatinghelpwindows
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
accesstoaccessibilityandotherfeatures.TheSearchHighlightOn/Offcommandturnsonoroffhighlightingforsearchterms.
Jump1
Jumpstoanauthor-designatedWebpageorhelptopic.YoucanaddaJumpbuttontolinktoanimportanttopicinyourhelpsystem,ortoapageontheWeb.Ifyouarelinkingtoafileinyourhelpsystem,andthefileislocatedinthesamedirectoryasyourproject(.hhp)file,youonlyneedtoincludethenameofthefile.IfyouarelinkingtotheWeb,youneedtoprovideacompleteURLincludingtheHTTPpartoftheaddress.
Jump2 Jumpstoanauthor-designatedWebpageorhelptopic.
Note
ThedefaultBackandForwardbuttonsarepredefinedtogiveyouthesamefunctionalitytheyhaveinMicrosoftInternetExplorer.Theydonotprovideanauthor-definedbrowsesequence.
Aboutcreatinghelpwindows
CompileandtesthelpInordertoensurethatyouareshippingahelpsystemwithouterrorsorbrokenlinks,youneedtotestyourhelp.YoucanusetheHTMLHelptestplanasaguidetohelpyoudevelopatestingprocess.
Thisplanincludesinformationabouthowtotestahelpsystemwhencompilingyourprojectandhowtodevelopotherimportanttestingguidelines.
Aboutcreatinghelp
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
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
FilecompressionHTMLHelpWorkshopautomaticallycompressesfilesduringthecompilationprocess.Eachfilethatisincludedinahelpprojectiscompressedtoasmallersize.
Whatdoyouwanttodo?
LearnmoreaboutHTMLHelpprojectfilesandhowtocreateone
Aboutcompilingahelpproject
AuthoringassistanceHTMLHelpauthoringassistanceisofferedthroughasetofspecialfeaturesforhelpauthors.ThesecommandsareonlyavailableifHTMLHelpWorkshopisinstalledonyourcomputer:
youjumptoaURLthatyouspecify.Thismakesiteasytoseewhatpageyouareon,orquicklynavigatetoaspecificpage.
ViewEntrydisplaysinformationaboutthecurrentlyselectedtableofcontentsentry,includingthedestinationfileorURL,targetframeorwindow,andanyinformationtypesassociatedwiththeentry.
Notes
Incompiledhelpfiles,theJumptoURLandViewEntrycommandscanbeaccessedbyright-clickinginthetoolbarortableofcontentsoftheHelpViewer.TheJumptoURLcommandisavailableonthesystemmenu.
InHTMLfilescontainingtheHTMLHelpActiveXcontrol,theJumptoURLandViewEntrycommandscanonlybeaccessedbyright-clickinginthetableofcontents.
TheViewEntrycommandisnotavailableifyouareusingabinarytableofcontents.
UsingHTMLHelpWorkshop
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
ViewingcompiledhelpfileinformationHTMLHelpWorkshopkeepstrackofinformationforeachcompiledhelpfileyoucreate.Thisincludesthedatethefilewascreated,andcanalsoincludealistofeachfilethatwasincluded.
Toviewcompiledhelpfileinformation
1. OntheFilemenu,clickCHMInformation.2. Tolistallofthefilesinthecompiledhelpfile,selecttheListfilenames
checkbox.
3. Toviewthedefaulthelptitle,defaultwindowtype,andotherprojectdefaults,selecttheListdefaultprojectsettingscheckbox.
Notes
Youcansavethecompiledhelpfileinformationtoafile.
YoucancleartheresultsbyclickingtheEditmenu,andthenclickingClearLog.
Aboutcompilingahelpproject
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
TestahelpsystemOneofthemostimportantthingsyoucandotomakesureusersfindtheinformationtheyneedinyourhelpsystemistotestyourhelpfiles.Itisagoodideatotestoftenasyouworkonyourhelpfile,anddoafinaltestofeverythingbeforeyoudistributeit.
Youwanttomakesurethatallthelinksinyourfileswork,yourtableofcontentsandindexarefunctional,yourcontentiscorrect,yourdesignisconsistent,andtherearenotanyothererrorsinyourfilethatcouldconfuseusers.
Togetanideaofhowahelpsystemmightbetested,youcanfollowtheprocessusedbytheHTMLHelpteamtotesthelpfiles.
Aboutcompilingandtestinghelp
CreatingaprocessfortestingThisistheprocessusedbytheHTMLHelpteamtotestanddebughelpfiles.
Whatdoyouwanttodo?
Developguidelinesfortesting
Cleanupcompilermessages
Testhelpintheuserinterface
Testlinks,pop-upwindows,andrelatedtopics
Checkformattingandstyles
Reviewaccuracyandstyleofcontent
Checktheindex,spelling,andtitles
Abouttestingahelpsystem
TestinghelpfilesHTMLHelpWorkshophasavarietyoftestingfeaturesthatmakeiteasiertotestyourhelpfiles.
Whatdoyouwanttodo?
Decompileahelpfile
Monitorhelpmessages
Viewcompiledhelpfileinformation
TestKLinksorALinks
Abouttestingahelpsystem
MonitoringhelpmessagesYoucanviewhelpmessagestotroubleshootcontext-sensitivehelp.HelpmessagescontainthetextofeachHTMLHelpAPIcallthatismade.Eachtimeyouactivatecontextsensitivehelpinyourapplication,anewmessageappearsincludingparameterssuchasthetopicID,textfile,andcompiledhelpfilethatwerereferencedinthecall.Thesemessagescanbesavedasatextfile.
Whatdoyouwanttodo?
Viewhelpmessages
Clearhelpmessages
Learnaboutcompilermessages
Compilingahelpproject
Abouttestingahelpsystem
UsingcommandlineswitchesSeveralclient-sidecommandlineswitchesareavailabletohelpauthorsthatarepartoftheHTMLHelpexecutableprogram(Hh.exe)andthereforeworkwhenHTMLHelpWorkshopisnotsetup.
FromaDOSpromptorfromtheRuncommand,youcan:
Decompilea.chmfile.
CallatopicusingamapID.
Createan800X600window,withoutcoveringtheWindowstaskbar.
Specifythetitletouseforan800X600window.HTMLHelpReference
HookuphelptoaprogramHTMLHelpcanbehookeduptoyoursoftwareprograminavarietyofways.YoucanuseHTMLHelpto:
Createtrainingcards.
UseAPIcallstoimplementhelpinyourprogram.
TheHTMLHelpComponents
Example:creatingashortcut4. Specifytheprogramtoopen,parameters,andwindowclass.
5. SpecifyastandardWindowsmessage,lPARAMandwPARAMmessages,andanHTMLfiletoopeniftheprogramcannotbefound.
Aboutshortcuts
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
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
CreatetrainingcardhelpYoucancreatetrainingcards,whicharespecializedhelptopics,tosendinstructionsto,andreceiveinstructionsfrom,aprogram.Theyareparticularlyusefulinguidingusersthroughaprocedurestep-by-step.Whenevertheusercompletesastep,thenextstepcanautomaticallyappear.Ifauserincorrectlyperformsastep,informationcanappearthatspecificallyaddressestheirmistakes.Trainingcardtopicsappearinasecondarywindow.
HelpauthorsinserttheHTMLHelpActiveXcontrolintotrainingcardtopicstosendinformationtoprograms.YouworkwithadeveloperusingtheHTMLHelpAPItomaketheappropriateAPIcalls.
Trainingcardhelpisinitiatedeitherfromauserselectioninahelptopicorbyactionsausertakesinaprogram.Thesearetheactionsthattakeplacewhenatrainingcardisused:
Thetrainingcardhelpsendsmessagesdirectlytoasoftwareprogram.
TheuserinteractswithHTMLHelpbyansweringaquestion,andthenHTMLHelpsendsmessagestotheprogrambasedontheresponse.TheprogrammustprocesstheWM_TCARDmessagetoreceivemessagesfromHTMLHelp.ThehelpauthoraddstheActiveXcontroltothehelpfiletoinitiatethesemessages.
Abouthookinguphelptoaprogram
CreatingatrainingcardTrainingcardsarespecializedhelptopics,tosendinstructionsto,andreceiveinstructionsfrom,aprogram.Theyareparticularlyusefulinguidingusersthroughaprocedurestep-by-step.
youwanttohaveinformationsenttoorfromaprogram.
2. ClickHTMLHelpActiveXControl.3. IntheSpecifythecommandbox,clickTrainingCard,andthenifyou
havealreadyusedtheHTMLHelpActiveXcontrolinthisfile,enteranIDnameforthisinstanceofthecontrol.
4. WorkwithadeveloperandtheHTMLHelpAPItoaddtheappropriateWM_TCARDcallsforyourtrainingcard.
Note
FordetailedinformationabouttheTCardcommand,seetheHTMLHelpActiveXcontrolreference.
Aboutcreatingtrainingcardhelp
ManagelargedocumentsetsHTMLHelpWorkshopcontainsseveralfeaturesthatyoucanusetomanagelargedocumentsets.Youcanusethesefeaturestocreatehelpsystemsthatcontainmultiplecontents(.hhc),index(.hhk),andcompiledhelp(.chm)files.Theyareparticularlyusefulifyouareshippingahelpsystemthatcontainscomponents.
Ifyouaredistributingmultiplecompiledhelpfiles,youcan:
Mergecompiledhelpfilesatruntime.Thismergestheindexandfull-textsearchinformationfrommultiplecompiledhelpfiles.UnifiedindexandsearchinformationappearsintheNavigationpaneoftheHelpViewer.
Createatableofcontentsthatincludeslinkstoothercontentsfiles.Youcanusethisfeaturetocreateaunifiedtableofcontents.
Assigninformationtypestoyourtopicstodeterminewhichgroupofuserswillseeeachtopic.
Ifyouaredistributingaverylargecompiledhelpfile,youcan:
Useabinarycontentsfile,whichopensquickerthanasitemapfileatruntime.
Aboutcreatinghelp
MerginghelpfilesatruntimeWhenyoumergehelpfiles,informationfromtheindexandfull-textsearchofmultiplecompiledhelp(.chm)filesiscombinedatruntime.Aunifiedindexandfull-textsearchinformationappearsintheNavigationpaneoftheHelpViewer.
Tocombinethetablesofcontentsfrommultiplehelpfiles,youneedtolinktothecontentsfilesthatneedtobemerged.
Thisisaveryusefulfeaturewhenyouneedtomergemultiplehelpfilesthataredesignedascomponentsofalargerhelpsystem.Forexample,theProfessionaleditionofasoftwareproductmightcontainfourprograms,eachwithaseparatehelpfile;whiletheStudenteditionofthesameproductmightcontainonlytwoprogramsandrelatedhelpfiles.
Whenahelpauthorcreatesaprojectfilethatspecifieswhichfilestomergeatruntime,thehelpcompilerwillfindandmergeonlythosefilesonauser'scomputer.
Therearespecialconsiderationswhenlinkingbetweenmergedhelpfiles.
Aboutmanaginglargedocumentsets
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
ManagingmergedindexfilesMergingindex(.hhk)filesfrommultiplecompiledhelp(.chm)filesrequiressomemanagementofeachindex.Considerthefollowingwhencreatingtheindexfilesforeachcompiledhelpfileinthecollection:
guidelinestoavoidunwantedrepetitionofsimilarindexentries.
Keywordlinks(KLinks)andAssociativelinks(ALinks)shouldbestandardizedforalltheindexfilesinthecollection.
Abbreviationsshouldbestandardizedforalltheindexfilesbeingmerged.
sitemapindexfilescannotbemergedwithbinaryindexfiles.
Ifused,informationtypesshouldbestandardizedforalltheindexfilesinthecollection.
Mergedindexesarecreatedatruntimeandanyeditsorcustomizationtoindividualindexfileswillbelostwhenthemergedindexisresorted.
Aboutmanaginglargedocumentsets
UsingHTMLHelpontheWebCreateahelpWebsite
MuchofthefunctionalityavailableinHTMLHelpcanbeusedtocreatepowerful,dynamicWebsites.GO
Createaframeset
IntroducingHTMLHelp
CreateahelpWebsiteTherearetwowaystoauthorforWebsites.YoucancreateuncompiledHTMLtopic,contents,andindexfiles.ThenyoucanpostthesefilestoaWebsite.Or,youcancreateaWebpagewithalinktoacompiledhelp(.chm)file.
Therearebrowserissuestoconsider,basedonyourtargetaudience,ineachmethodofauthoring.FordetailedinformationaboutusingtheHTMLHelpActiveXcontrolontheWeb,seetheHTMLHelpActiveXcontrolreference.
UsingHTMLHelpWorkshop,youcan:
CreateanHTMLtopicfile.
CreateatableofcontentsforaWebpage.
CreateanindexforaWebpage.
InserttheHTMLHelpActiveXcontrolintoanHTMLfile.
InserttheHTMLHelpJavaAppletintoanHTMLfile.
Createaframeset.
RunacompiledhelpfilefromaWebpage.
AboutusingHTMLHelpontheWeb
CreatingHTMLfilesTheeasiestwaytoauthoryourhelpsystemistocreateanewHTMLfileforeachhelptopicorWebpage.Youcanthencreateahelpprojectfiletocollect,manage,andcompileyourhelptopics.
Whatdoyouwanttodo?
CreateanewHTMLfile
Convertanexistinghelpproject
ViewanHTMLfile
AddtagsandotherelementstoHTMLfiles
SplitanHTMLfilewithmultipletopicsintomultipletopicfiles
AboutcreatingHTMLtopicfiles
CreatingatableofcontentsforaWebsiteCreatingatableofcontentsforuseasanavigationalaidonaWebsiteissimilartocreatingatableofcontentsforuseinacompiledhelpfile.ThisproceduredescribestheextrastepsyoumusttaketomakethetableofcontentsusableovertheWeb.
TocreateatableofcontentsforaWebsite
1. Createatableofcontentsfile.
2. CreatetheHTMLfilethatwillcontainyourtableofcontents.
3. Positionyourcursoratthelocationwhereyouwantthetableofcontentsfiletoappear,andthenclickHTMLHelpActiveXControl.
4. IntheSpecifythecommandbox,clickTableofContents,andthenfollowtheinstructionsonyourscreen.
Notes
IfyourusersdonothaveabrowserthatsupportsActiveXcontrols,tryusingtheHTMLHelpJavaApplet.
FormoreinformationabouttheContentscommand,seetheHTMLHelpActiveXcontrolreference.
Aboutcreatingtableofcontentsfiles
CreatinganindexforaWebsiteCreatinganindexforuseasanavigationalaidonaWebsiteissimilartocreatinganindexforuseinacompiledhelpfile.ThisproceduredescribestheextrastepsyoumusttaketomaketheindexusableovertheWeb.
TocreateanindexforaWebsite
1. Createanindexfile.
2. CreatetheHTMLfilethatwillcontainyourindex.
3. Placeyourcursoratthelocationwhereyouwanttheindexfiletoappear,andthenclickHTMLHelpActiveXControl.
4. IntheSpecifythecommandbox,clickIndex,andthenfollowtheinstructionsonyourscreen.
Notes
SinceanindexcreatedforaWebsiteisnotcompiled,itshouldbecreatedusingasitemap.
IfyourusersdonothaveabrowserthatsupportsActiveXcontrols,tryusingtheHTMLHelpJavaapplet.
FormoreinformationabouttheIndexcommand,seetheHTMLHelpActiveXcontrolreference.
Aboutcreatingindexfiles
InsertingtheHTMLHelpActiveXcontrolInsertingtheHTMLHelpActiveXcontrolintoahelptopicorWebpageinvolvesaddinganobjecttagatthelocationyouwantthefunctionalitytoappear.TheHTMLHelpActiveXControlWizardenablesyoutoinserttheobjecttagforthecontrol.Thewizardcanalsobeusedtoeditexistinginstancesoftheobjecttag.
ToinserttheHTMLHelpActiveXcontrolintoatopic
1. OpenanHTMLfile,andthenpositionthecursoratthelocationwhereyouwanttheActiveXcontrolfunctionalitytoappear.
2. ClickHTMLHelpActiveXControl,andthenfollowtheinstructionsonyourscreen.
Notes
YoucanalsoedittheHTMLHelpActiveXcontrol.
TheHTMLHelpActiveXcontrolissignedusingAuthenticode2.0technology.YoumayneedtoinstallAuthenticode2.0inordertosuccessfullyrunthecontrol.
Formoreinformationaboutthecontrol,seetheHTMLHelpActiveXcontrolreference.
AbouttheHTMLHelpActiveXcontrol
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
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
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
CreatingalinktocloseaframesetCurrentlytheHTMLHelpActiveXControlClosecommanddoesnotworkproperlywithWebpagesthatcontainframes.Becauseofthis,youwillneedtocreateaspeciallinktoclosesuchpages.Thislinkwillclosethemainbrowserwindowandalloftheframesitcontains.
Tocloseawindowthatcontainsaframeset:
1. OpentheHTMLfileinwhichyouwanttoincludethelink.
2. Positionyourcursorwhereyouwantthelinktoappear.
3. Addthelinkusingthefollowingsyntax:
<AHREF=JavaScript:window.top.close()>Close</A>
HTMLHelpreferencesTheHTMLHelpActiveXcontrolreference
TheHTMLHelpActiveXcontrolreferenceprovidesinformationabouthowtousethecontrolinanHTMLfileandhowtosetitscommandsandparameters.GO
TheHTMLHelpapplicationprogramminginterface(API)reference
HTMLtagreference
ScriptandDHTMLexamples
HTMLHelpViewertopics
IntroducingHTMLHelp
HTMLHelpAPIReferenceTheHTMLHelpAPIReferenceprovidesinformationontheHTMLHelpapplicationprogramminginterface(API),whichenablesaprogramtodisplayahelpwindow.ItincludescomprehensiveinformationabouthowtousetheHTMLHelpAPIcommands,datastructures,andnotificationmessages.
Thereferenceprovidesthefollowingsections:
TheoverviewsectiondescribestheHTMLHelpAPI,andexplainsthesyntaxrequiredtoaccessit.
ThereferencetopicsprovidesyntaxdescriptionsandcodeexamplesforallcommandsthatcanbepassedtoHtmlHelp(),andsyntaxdescriptionsforallstructuresandnotificationmessagesusedbyHtmlHelp().
HTMLHelpReferences
HTMLTagReferenceTheHTMLHelptagreferenceprovidesinformationonHTMLcolorvalues,HTMLelements,HTMLattributes,andcascadingstylesheet(CSS)attributes.
YoucanviewtheHTMLTagReferenceeitherfromtheHTMLHelpWorkshophelpfileorinasecondaryhelpwindow.
ToviewtheTagReferenceinasecondarywindow
ScriptandDHTMLexamplesTheexamplesinthisreferencedemonstratehowyoucanusescriptsandDynamicHTML(DHTML)toaddfunctionalitytoyourhelpsystem.
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.
DHTMLexamples:Thiscanhelpyoutoconservescreenspaceinyourhelptopics.
Createdynamiclinksthatwilllivenupyourhelptopics.Thisexampleshowstheeasiestwaytoaddmouseoverfunctionalitytoeveryhyperlinkinyourhelpproject,andalsoshowshowtocreatecompactcustomlinksusingthe<SPAN>tag.
AbouttheHTMLHelpReferences
Example:Createapop-upwindowUsingtheHTMLHelpActiveXcontrol,youcancreateapop-upwindowthatappearswhenauserclicksaspecificword,phrase,orgraphicinatopic.ThisexampleisbasedontheTextPopupmethod.
Thestepsoftheprocessareasfollows:
1. Writethetextforthepop-upwindow.
2. InserttheHTMLHelpActiveXcontrolinyourHTMLfile.
3. Createahyperlinktoopenthepop-upwindow.
Notes
YoucanusethisexamplewithbothuncompiledHTMLfilesandcompiledhelp(.chm)files.
Thisprocedurecannotbeusedtocreatecontext-sensitivehelptopicsthatusersopenthroughanexternalprogram.
AboutthescriptandDHTMLexamples
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.
AboutthescriptandDHTMLexamples
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
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
Thehashmark("#")characterensuresthatthestateofthecurrenthelpwindowwillberetained.returnfalsepreventsthehashmarkfromappearinginthelocationfieldofthemainwindow,whichwouldinterferewiththefunctionalityoftheBackandForwardbuttons.Allofthecodemustbeonthesamelineoritwillnotwork.Thelinesinthisexamplearebrokenforlegibility.Whenworkingwithcompiledhelp(.chm)files,allHTMLfilesreferredtobythiscodemustbeincludedinyourprojectbeforecompiling.Also,becausethecompilercanonlyincludegraphicsfilesin<IMG>tags,itwillmissanygraphicsfilesthatareincludedinthisscript.Ifyouusethisscriptinacompiledhelpfile,makeitpointtoanHTMLfileratherthanagraphicsfile.
AboutthescriptandDHTMLexamples
Example:linktofileoutsideofyourhelpsystemTherearemanyreasonswhyyoumightwanttolinktoafilelocatedoutsideofacompiledhelp(.chm)file.Sayyouwanttolinktoavideoclip.Includingsuchalargefileinyourhelpprojectcouldresultinanenormouscompiledhelpfile.Theremayalsobetimeswhenyouneedtolinktoareadmefilethatwasnotreadywhenthe.chmfilewasbuilt.
WhenyouaredesigninganormalWebpage,linkingtofilesisasimplematterofspecifyingthelocationofthetargetfile.Thelocationofthepagecontainingthelinkisirrelevant.However,thingsaredifferentinacompiledhelpfile.Themainproblemwithcompiledhelpisthatyoucanonlylinktoexternalfilesusinganabsolutepath.Thisisfineifyouarecertainthelocationofthehelpfilewillalwaysbethesame.Butwhatifauserinstallsyourhelpfiletoanunexpectedlocation?Ifthishappens,anylinksusingabsolutepathswillbebroken.Similarly,ifyourhelpfileistobereferencedfromacompactdisc,itisimpossibletopredictwhichdriveletterwillbeinuse.
YoucanuseJScripttobypasstheselimitations.The
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);
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-
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=/:/;
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
enablesyoutoaccessthesamescriptwithmultipleanchortagssoyoucanlinktomorethanonefile.
Notes
Thefileyouarelinkingtomustbestoredinthesamedirectoryasyourcompiledhelpfile.TheHREFattributemustbeomittedfromthe<A>tag.Allstyleattributesfortheanchortagmustbedefinedmanuallysothattheanchortextappearsasalink.TextandHTMLfileswillopenintheHelpViewerwindow.Ifyouarelinkingtoatextfile,besuretousehardreturns.Otherwise,thetextwillnotwrapproperly.Allotherfileswillopenintheprogramwithwhichtheyareassociated.Forexample,clickingalinktoan.avifilewilllaunchaninstanceofMicrosoftMediaViewer.However,ifauserdoesnothavetheappropriateprograminstalled,heorshewillnotbeabletoopenthefile.
AboutthescriptandDHTMLexamples
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.
3. Ifyouarecreatingacompiledhelp(.chm)file,addthefilenameofyourmasterscriptfiletothe[FILES]sectionofyourproject(.hhp)file.
Youcancallscriptsthatarestoredinaglobalfilethesamewayyouwouldcallscriptcodethatisactuallyonthepage.Forexample,ifyoucreatedaglobalfilewithfunctionFoo(),youcouldreferenceitlikethis:<aonclick="Foo()">.
Notes
Youcancreatemorethanoneglobalscriptfile.Thisprocedurecanbeusedwithanyscriptinglanguage.
AboutthescriptandDHTMLexamples
Example:CreateexpandablesectionswithDHTMLYoucanuseDynamicHTML(DHTML)tocreateexpandablesectionsinyourHTMLfiles.Thiscanbehelpfulwhenyoudocumentscreenshotsandotheritemsthatoccupyalargeamountofscreenspace.Expandablesectionsgivetheusermorecontroloverthedisplayofsuchelements,lettingthemdisplaythemasneeded.
Thesetopicsuse,assamples,thesourcecodeforthesidebarsintheHTMLHelpdocumentation.
Therearethreestepstocreatingexpandablesections:
1. Createthetagthatwillcontainthecontentsforeachsection.
2. InserttheJavaScriptcode.3. Updateyourstylesheettoreflectthenewsection.
Notes
YoucanusethisexamplewithbothuncompiledHTMLfilesandcompiledhelp(.chm)files.
AboutthescriptandDHTMLexamples
Example:CreatedynamicelementswithDHTMLDynamicHTML(DHTML)offersawiderangeofpossibilitiestohelpyouimprovethefunctionandappearanceofyourhelpsystem.ThefollowingexamplesexplaintwodynamiclinksthatareusedintheHTMLHelpdocumentation,andtheyprovidesamplecodethatwillhelpyoutoimplementsimilarlinksinyourhelpsystem:
Addmouseoverfunctionalitytoallofthehyperlinksinyourhelpsystem.Allittakesisonesmalladditiontoyourstylesheet.Takeyourlinksastepfurtherwithdynamicinlineelements.
Formoreinformation,gototheDHTML,HTML,andCSSWebsiteinMicrosoft'sSiteBuilderNetwork.
AboutthescriptandDHTMLexamples
HTMLHelpViewertopicsTheHTMLHelpViewertopicscontainbasicinformationabouthowtousetheviewer.Informationonusingtheaccessibilityshortcutkeysisincluded.Ifyouareahelpauthor,youcanincludethesetopicsinyourhelpfile.
Youcandownloadacompiledhelp(.chm)filethatcontainstheHelpViewertopicsfromtheHTMLHelpWebsite.Youcanthendecompilethehelpfile,revisethetopicstoconformtoyourguidelines,andincludetheminyourhelpsystem.
WhatisHTMLHelpWorkshop?
AboutMSDNscriptingreferencesMicrosoftpublishesextensivescriptingreferencesforMicrosoftJScript,MicrosoftVisualBasicScriptingEdition,andDynamicHTML(DHTML).
IfyouareamemberoftheMicrosoftDeveloperNetwork,youcanviewthesereferencesontheWeb.
HTMLHelpreferences
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
AbouttheHTMLHelpexecutableprogramTheHTMLHelpexecutableprogram(Hh.exe)runswheneverauserclicksacompiledhelp(.chm)fileormenuitemthatopensthehelpfileinsidetheHelpViewer.TheHTMLHelpexecutableprogramcallstheHTMLHelpActiveXcontrol,whichopensthehelpfileandprovidesnavigationandotherfeaturestotheuser.
Theprogramprovidesthesefeatures:
TopicsappearintheHelpViewer.
TheHTMLHelpActiveXcontrolisbuiltintotheHelpViewersothatanynavigationalelements(suchasatableofcontents,index,orfull-textsearch)specifiedbythehelpauthorwillbepartofthecompiledhelpfilethatausersees.
TheHTMLHelpcomponents
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
AboutgraphicsandmultimediafilesYourHTMLtopicfilescancontainlinkstographic,sound,video,animation,andothermultimediafiles.LinkstothesefilesaremadeusingthestandardHTMLtagsforeachtypeoffile.HTMLHelpWorkshopalsoincludesagraphicseditingtoolnamedtheHTMLHelpImageEditorthatmakesiteasytotakescreenshotsandaddthemtoyourhelpfiles.Graphicfileshavea.gif,.jpeg,or.pngfilenameextension.Commonmultimediafilenameextensionsare:.au,.avi,.midi,and.wav.
AbouttheHTMLHelpImageEditor
AbouttheaccessibilitywordlistTheaccessibilitywordlistisalistcontainingwordsthatarecommonlyusedeithertodescribephysicaldisabilitiesorfeaturesinsoftwareprogramsthatassistuserswithdisabilities.Forexample,theaccessibilitywordlistcontainsthewords"blind"and"selectioncursor,adjustingforimprovedvisibility."
Helpauthorscanusethewordlistasaremindertoincludetopicsonallareasofaccessibilityinanydocumentationtheyprovide.Itemsfromthewordlistcanalsobeaddedastableofcontentsentriesoraskeywordstoindexfiles.Thiswillenableuserswithdisabilitiestoeasilyfindtheinformationtheyneedaboutyoursoftwareproduct.
Aboutaccessibilityanddisabilityconcerns
StartahelpsystemdesignHerearesomesuggestionsforplanningahelpsystemorWebsite:
Determinewhoyouraudienceisand,ifyouwilldistributewithaprogram,whetheryouwanttouseinformationtypestodirecttopicstospecificusers.
Ifyouwilldistributewithaprogram,decidewhetheryouwanttodisplaytopicsintheHelpViewerorcreateyourownframeset.IfyouarecreatingaWebsite,planpagedesigns.ForframesetandWebsitedesign,planwhichdocumentswillcontaintheHTMLHelpActiveXcontrol.
Planadesignforyourtopics,createHTMLtemplatefiles,andbeginwriting.
Planadesignforyourtableofcontentsandindex.
Ifyouwilldistributewithaprogram,designanysecondaryhelpwindowsormodificationstotheHelpVieweryouwanttouse.
Createahelpproject(.hhp)filetomanageyourhelpfiles.
Designingahelpsystem
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
GuidelinesforwritingkeywordsAcomprehensivekeywordlistisoneofthemosthelpfulnavigationaltoolsthatyoucanprovideforusers.Itcanhelpthemlocatehelptopicseveniftheyareunfamiliarwiththetermsusedinyourprogram.
Themorekeywordsyouprovideinatopic,themorelikelyitisthatuserswillbeabletofindthetopicthey'relookingfor.It'stypicallybesttoincludeseveraltypesofkeywordsineachtopic,including:
Nontechnicaltermsthatarelikelytooccurtobeginningusers.
Technicaltermsthatarelikelytooccurtoadvancedusers.
Commonsynonymsfortechnicalterms.
Wordsthatdescribethetopicgenerally.
Wordsthatdescribepartofthetopic.
Invertedformsofkeywordphrases—forexample,"combininghelpfiles"and"helpfiles,combining."
Aboutcreatingindexfiles
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
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
WorkwithlinksTherearemanycreativewaysforhelpauthorstoprovidejumpsorlinkswithinahelpfileortoresourcesoutsideahelpsystem.ThemostcommonlinksarethosewithinHTMLfiles,fromoneHTMLfiletoanother,ortoaWebsiteorserverlocation.
Youcanalsolinktootherhelpsystemsortomultimediafiles.Youcanaddbuttonsthatlinktotopicsorlocations,orlinktotopicsthatappearinadifferentwindowthanthetopicfromwhichyouarelinking.
Herearesomeofthewaysyoucanlinkinformation:
Createtextlinks.
CreateabookmarktolinkfromonelocationinanHTMLfiletoanotherlocationwithinthesamefile.
CreatealinkfromacontentsorindexentrytoatopiconaWebsite.
Createalinktoanotherhelpfile.
CreateaRelatedTopicslinktootherHTMLfiles.
CreateaKLinkbasedonakeywordyouandotherauthorscreateinyourHTMLfiles.Keywordsalsoappearintheindex.
CreateanALinkbasedonanALinknameyouorotherauthorscreateinyourHTMLfiles.ALinknamesdonotappearintheindex.
Createabuttonthatlinkstoatopic(suchasahomepage),anotherlocation,oranotherfile.
Createalinktoatopicthatopensinadifferentwindow.
AboutcreatingHTMLtopicfiles
AddbuttonstohelpwindowsIfyouareplanningtocreatecustomwindowsorwindowdefinitions,youcandecidewhichbuttonswillappearonthebuttonbar.
Whatdoyouwanttodo?
Addorremovebuttonsinahelpwindow
Seealistofbuttonsandtheirfunctions
Aboutcreatinghelpwindows
ModifytheHelpViewerTochangethedefaultcharacteristicsoftheHelpViewer,youneedtodefineawindowtypeforitinyourprojectfile.OnceyouhavegiventheHelpVieweradefinition,youcancustomizeitinthesamewayyouwouldasecondaryorembeddedwindow.
Somecustomizationsaffectjustonepaneofthewindow.Forexample,youcanmakemodificationstotheNavigationpanethataffectwhichtabsappearandwhethertheyappearonthetop,side,orbottomofthewindow.
Whatdoyouwanttodo?
DefineawindowtypefortheHelpViewer
Specifythetitleforahelpwindow
Addorremovebuttonsinahelpwindow
SpecifythesizeandpositionoftheHelpViewerorahelpwindow
Specifyfilelocationsforwindowtypes
ModifytheNavigationpaneintheHelpViewer
Makechangestotheoverallstyleofhelpwindows
AboutcustomizingtheHelpViewer
AboutchangingthesizeandpositionofawindowTheinformationyoupresentinyourhelptopicsgenerallydetermineshowlargeyourhelpwindowshouldbeandwhereitshouldbeplacedontheuser'sscreen.
YoucaneitherusethedefaultsizeandpositionfortheHelpVieweroryourhelpwindows,orspecifythesizeandpositionthatyouwant.ThedefaultpositionfortheHelpViewerisinthecenteroftheuser'sscreen.Thedefaultpositionforsecondarywindowsisintheupper-rightcorneroftheuser'sscreen.
YourhelpwindowsautomaticallyshiftdownortothelefttopreventanyconflictswiththeWindowstaskbar.Ifyouspecifyasizeand/orpositionforawindow,makesureyouleaveenoughspaceabovethetaskbarwhendesigningyourhelpwindowsizeandposition.
Youmayalsoneedtoadjustyourwindowsizetoensurethatalltabsinthenavigationpanedisplaythewayyouwantthemto.
Aboutcreatinghelpwindows
DistributehelpovertheInternetHelptopicsdistributedovertheInternetareusuallyaccessedbyuserswhovisitaWorldWideWebsite.TheWorldWideWebisagraphicalsystemofmovingthroughtheInternetusinghyperlinks.AllorpartofaWebsitecancontainhelptopicsthatausercanview,copy,ordownloadtotheircomputer.
HTMLfilesdistributedontheInternetcanpotentiallyreachmillionsofpeoplearoundtheworld.AnyhelptopicsyoupublishtotheWebshouldbedesignedwiththisinmind.Theinformationinthemshouldbeaccessibletoawidevarietyofusers.
Whatdoyouwanttoknowmoreabout?
Settingupinformationtypestoselecttheaudiencethattopicswillbedeliveredto
PlanningforhelpWebsiteupdatingandmanagement
RegisteringyourhelpWebsitewithsearchengines
GettingstartedusingHTMLHelpWorkshop
DistributingtopicsovertheInternet,anintranet,oranextranet
DistributehelpoveranintranetHelptopicscanbedistributedoveranintranet,whichisacommunicationsnetworkbasedonthesametechnologyastheWorldWideWebthatisavailableonlytopeoplewithinacertainorganizationorcompany.Intranetsareprotectedfromunauthorizedentrancebyafirewall,acomputerthatrefusesentrancetothosewithoutproperaccessprivileges.Allorpartofanintranetsitecancontainhelptopicsthatauserwithaccessprivilegescanview,copy,ordownloadtotheircomputer.
HTMLfilesdistributedonanintranetwillreachonlythosewhocanconnecttotheprivatenetworkonwhichtheyarelocated.Theinformationinthemcanbeconfidentialanddesignedspecificallyforthecompanyororganizationusingtheintranet.
Whatdoyouwanttoknowmoreabout?
Settingupinformationtypestoselecttheaudiencethattopicswillbedeliveredto
PlanningforhelpWebsiteupdatingandmanagement
GettingstartedusingHTMLHelpWorkshop
RegisteringyourhelpWebsitewithsearchengines
DistributingtopicsovertheInternet,anintranet,oranextranet
DistributehelpoveraextranetHelptopicsdistributedoveranextranetareusuallyaccessedbyuserswhofirstvisitaWorldWideWebsite,andthengainaccesstoanextranetsotheycanusetheconsumerservicesbeingoffered.Extranetsarefrequentlyconnectedtolargedatabasesthatprocesseitherrequestsorinformationfromusers,andthengenerateresponsestothoserequests.
Dependingonhowtheextranetissetup,accesstoitcaneitherbepublicorprivate.Allorpartofanextranetsitecancontainhelptopicsthatuserswithaccessprivilegescanview,copy,ordownloadtotheircomputer.
Helptopicsdevelopedforextranetdistributionwillreachonlythosewhochoosetoconnecttotheextranettoobtaintheservicesbeingoffered.Theinformationinthemshouldbedesignedspecificallyforthecompanyorconsumerusingtheservice.
UsingHTMLHelpWorkshop,youcandesignshortcutbuttonsinhelptopicsthatinteractwithsoftwareprogramsontheextranet.
Whatdoyouwanttoknowmoreabout?
Settingupinformationtypestoselecttheaudiencethattopicswillbedeliveredto
PlanningforhelpWebsiteupdatingandmanagement
GettingstartedusingHTMLHelpWorkshop
RegisteringyourhelpWebsitewithsearchengines
DistributingtopicsovertheInternet,anintranet,oranextranet
CompileandtesthelpAfteryoubuildyourprojectfileandaddallyourtopic,index,andcontentsfiles,you'llneedtocompileandtestyourhelpsystem.
Whatdoyouwanttodo?
Learnaboutcompilingahelpproject
Learnstrategiesfortestinganddebugginghelpfiles
Decompileahelpfile
TestaKLinksorALinks
Aboutcreatinghelp
Tocreateanewhelpprojectfile
ToaddorremoveHTMLtopicfilesfromaprojectfile
Aboutcreatinghelpprojectfiles
TospecifythelocationofindexfilesNote
TospecifythelocationofcontentsfilesNotesYoucanalsospecifyhowthecontentsentriesyoucreatewillrespondwhenyousingle-clickordouble-clicktheminHTMLHelpWorkshop.
Aboutcreatinghelpprojectfiles
TospecifythelocationofimageormultimediafilesNoteAboutcreatinghelpprojectfiles
Tospecifyalocationforacompiledhelpfile
Tospecifyalocationforthehelplogfilepath.
NoteAbouthelpprojectsfiles
TospecifyatitleforacompiledhelpfileAbouthelpprojectsfiles
TospecifythedefaultHTMLtopicfileforacompiledhelpfileAboutcreatinghelpprojectfiles
TospecifythelanguageforthehelpfileAbouthelpprojectsfiles
TohidecompilermessagesTheprogressreportincludesthenameofeachHTMLfileasitisprocessed.
Aboutcompilingahelpproject
TomovetopicstotherootduringcompileNotesFilenamingisimportantwhenusingthisfeature.Filesindifferentfoldersthathavethesamenamewillnotcompileproperlywhenconsolidatedattheroot.
Aboutcompilingahelpproject
ToautomaticallyloadthelastprojectfileyouworkedonAboutcreatinghelpprojectfiles
ToenablesoundinHTMLHelpWorkshopAboutcreatinghelpprojectfiles
TochangethefontwhenviewingthecompilermessagelogAboutcreatinghelpprojectfiles
Tosetactionstotakewhensingle-ordouble-clickingacontentsentry
Tosetactionstotakewhensingle-ordouble-clickinganindexentry
CreatingtextlinksYoucancreateatextlinktojumpfromoneHTMLfiletoanotherinyourhelpproject,orfromanHTMLfiletoanexternalWebsiteorserverlocation.Atextlinkcanconsistofonecharacterorseveralparagraphs,butauthorstypicallylimitthemtoawordorashortphrase.
IfyouusethedefaultsettingforHTMLHelpWorkshop,textlinksappearinabrowserasunderlined,coloredtext;theoriginalcolorchangesafterauserclicksthelink.
Whatdoyouwanttodo?
AddatextlinktoanHTMLfile
Assignanalternatelocationforacontentsorindexentry
Addabookmarklinktoafile
CreateatextlinkforHTMLHelpActiveXcontrolcommands
Assignawindowtypetoatopicwhenlinking
Aboutworkingwithlinks
ToconvertanexistinghelpprojecttoanHTMLHelpproject4. SpecifyalocationandnameforthenewHTMLHelpprojectyouarecreating,clickNext,andthenclickFinish.
Notes
Allthefilesreferencedbytheexistinghelp(.hpj)filemustbeinthelocationsspecifiedortheconversionprocesswillfail.
HTMLHelpWorkshopconvertsonlycompleteprojectsorganizedinaWinHelpprojectfile.Itwillnotconvertindividualormultipletopicfiles.
Aboutconvertingexistinghelpprojects
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
AbouttheoverviewtopictemplateTheoverviewtopictemplatecanbeusedforoverviewtopicsthatintroduceordescribegeneralconcepts.
Youcancopythisexampleandaddformattingelementstoitforyourhelpsystem.
Example:Helpauthoringtemplates
AboutthedecisiontopictemplateTheDecisiontopictemplatecanbeusedfortopicsthatbrieflyintroduceconcepts,andthenlistlinkstoproceduresausermightwanttoperform.
Youcancopythisexampleandaddformattingelementstoitforyourhelpsystem.
Example:Helpauthoringtemplates
AbouttheproceduretopictemplateThemulti-stepproceduretemplatecanbeusedforstep-by-steptopicswherethereismorethanonestepintheprocedure.
Youcancopythisexampleandaddformattingelementstoitforyourhelpsystem.
Example:Helpauthoringtemplates
Abouttheone-stepproceduretopictemplateTheone-stepproceduretopictemplatecanbeusedforproceduretopicsthathaveonlyonestep.
Youcancopythisexampleandaddformattingelementstoitforyourhelpsystem.
Example:Helpauthoringtemplates
Aboutthesource-codeexampletopictemplateThesource-codeexampletopictemplatecanbeusedfortopicsthatincludeexamplesofHTMLsourcecode.
Youcancopythisexampleandaddformattingelementstoitforyourhelpsystem.
Example:Helpauthoringtemplates
LinkastylesheettoanHTMLfileYoucanincludestylesheetinformationinanHTMLfileintwoways:
Includestylesheetinformationbetweenthe<STYLE>startandendtagsinsidethefile.
Theformattingappearsthesamewitheithermethod.IfyouaremanagingalargehelpsystemorWebsite,theadvantagetousinganexternalstylesheetisthatthesamestylescanbeusedbymanydifferentfiles,withoutduplicatingtheinformationbetweenthe<HEAD>startandendtagsofeveryfile.
Whatdoyouwanttodo?
Linktoanexternalstylesheet
IncludethestylesheetinformationinanHTMLfile
Aboutusingcascadingstylesheets
ToapplyastyletoaphraseinanHTMLfile<SPANSTYLE="{font-family:times;font-size:12pt;background:yellow;color:red;}">Spanthisphrase</SPAN>
Inthisexample,thefont,andbackground<STYLE>tagattributeswillbeappliedtothetextSpanthisphrase.
Note
Thisallowsahelpauthortoformatindividualphrases,words,orletters.
Aboutusingcascadingstylesheets
Tolinktoanexternalstylesheet<LINKREL="stylesheet"TYPE="mime/type"HREF="url">
wherethevalueREL="stylesheet"indicatesthatthetargetsourceisastylesheet,mime/typeistheMIMEtypeforthestylesheet,andurlistheaddressofthestylesheetfile.
Note
EachstylesheethasitsownMIMEtype.CascadingstylesheetshavetheMIMEtypetext/css.
Aboutusingcascadingstylesheets
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
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
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;}
/*--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
Toopenacompiledhelpfilefromacontentsorindexentrycontentsorindexlink.
4. ClickAdd,andthen,intheFileorURLbox,typethenameofthecompiledhelp(.chm)file.
Notes
Whenauserclicksthelinkadialogboxwillappearthatgivesthemtheoptionofsavingthecompiledhelpfiletotheirharddiskoropeningitfromthedirectorywhereit'slocated.
Ifthecompiledhelpfileyouarelinkingtoisinadifferentdirectorythanthetopicyouarelinkingfrom,youwillneedtoenterthepathtothecompiledhelpfileintheFileorURLbox.Forexample,ifthehelpfileislocatedinadirectoryontheWeb,youwouldneedtoenterthefullURLincludingtheHTTPaddress,<AHREF="http://www.sample.com/example.chm">
Aboutcreatingalinktoanothercompiledhelpfile
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
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
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
AboutworkingwithALinksWhenyoucreateAssociativelinks(ALinks),youneedtofirstaddALinknamestothetopicsthatarethetargetsforthelink.ThenyouaddtheALinkobjecttothetopicsyouwanttolinkfrom.
Forexample,addtheALinknamepilottoseveraltargettopics.ThenaddtheALinkobject,withpilotspecifiedintheALinknamesearch,toatopicyouwantlinkedtotheothertopics.TheAlinknamepilotwillappearinthelistoftargettopicswhenauserclickstheALinkinthetopiccontainingtheALinkobject.
YoucanuseanALinktojumptotopicsinthesameorotherhelpfiles.TheALinktargetlistwillappearinaTopicsFounddialogboxwhentheuserclicksthelink.Youcanchangethissothatthetargetlistappearsonapop-upmenu.FordetailedinformationaboutALinks,seetheHTMLHelpActiveXcontrolreference.
WorkwithALinks
TocreateanALinkinatopicthatlinkstoatargetfilechoosetheappropriatedisplaytypeandbuttonoptions.
4. IntheRelatedTopicsdialogbox,specifytheALinknamesyouwanttojumpto.
5. FormoreinformationaboutALinks,seetheHTMLHelpActiveXcontrolreference.
Notes
YoumustaddALinknamestotheappropriatetargettopicsbeforetheALinkwillwork.
AddinganALinktoanHTMLfileaddsan<OBJECT>tagtoyourfile.ThisallowsyoutolinktoanyotherfilesthatcontaintheALinknamesyouspecify.WhenauserclickstheALink,anytopicsthatcontaintheALinknamesyouhavespecifiedwillappear.
YoucantestALinksincompiledhelpfiles.
Aboutworkingwithlinks
ToaddanALinknametoatargetHTMLfile3. OntheEditmenu,clickCompilerInformation,andthenclicktheALinkNamestab.
4. ClickAdd,andthenenteranyALinknames.Youcanaddmultiplenamesbyseparatingeachnamewithasemicolon.
Notes
Thisaddsan<OBJECT>tagwiththeALinknamesyouhaveaddedtoyourHTMLfile.ThefileisnowatargetfileandyoucancreateanALinkfromanotherHTMLfiletoit.
YoucantestALinksincompiledhelpfiles.
FormoreinformationaboutALinks,seetheHTMLHelpActiveXcontrolreference.
Aboutworkingwithlinks
TotestKLinksorALinks3. Ifyouwantthetopicsyouaretestingtoappearinawindowtypeotherthanthedefaultwindow,specifythenameofthewindowtypeintheWindownamebox.
4. IfyouwanttoincludeALinknamesinthetest,selecttheUseALinknamescheckbox.
5. ClickAdd,typeanykeywordsandALinknames,andthenclickTest.
Note
ThisprocedureisusefulwhenyouneedtotestwhetherKLinkkeywordsandALinknameshavebeenaddedcorrectlytotargetfilesandwhethertheKLinkorALink<OBJECT>taghasbeenaddedtothefilesyouwanttolinkfrom.
Testinghelpfiles
Toassignanalternatelocationforacontentsorindexentry
Note
atthetimeyourhelpcontentshipswillbeavailableonaWebsite.Youcanaddaplaceholdertopicthatwilllinktothealternatelocation.
Aboutworkingwithlinks
AboutbinarycontentsfilesYoucanreducethetimeittakestoloadaverylargetableofcontentsbycreatingabinarycontentsfile.Abinarytableofcontentsispopulatedbasedonuserdemand.Forexample,inatableofcontentswhereabookislocatedwithinanotherbook,thesecondlevelbookwillnotbepopulateduntilauserclicksit.
Thebinaryformat,however,hasaverylimitedsetofauthoringfeatures.Forexample:
Onlybookandpageiconsaresupported.
Customiconsarenotsupported.
Informationtypesarenotsupported.
Youcannotauthoratableofcontentslinktoopenatopicinadefaultwindowordefaultframe.
Youcannotmodifywindowstyles.
Aboutmanaginglargedocumentsets
Tospecifythedefaultframeinacontentsorindexfile3. IntheDefaultframebox,typetheHTMLframenamewhereyourpageswilljump.
Notes
TheframeyouspecifymustbedefinedinanHTMLdocument.
YoudonotneedtocreateyourownframesetifyouplantousetheHelpViewertodisplayyourcontent.
Aboutcreatingtableofcontentsfiles
TocreateanewcontentsfileNotesTochangeanentry,clickEditSelection.BeforeyoucandisplayacontentsfileintheHelpViewer,youneedtoaddittothehelpprojectfile,andthencompiletheproject.
Aboutcreatingtableofcontentsfiles
EditorupdateatableofcontentsOnceyoucreateatableofcontentsyoucaneditorupdatetheentriesandhowtheyappeartotheuser.
Whatdoyouwanttodo?
Usecustomimagefilesinacontentsfile
Createnewimagesforacontentsfile
Assignaninformationtypetoacontentsentry
Flaganewtableofcontentsentry
Changeatableofcontentsentrylevelfromafolderorbooktoapage
Assignawindowtypetoacontentsorindexentry
Assignanalternatelocationfortopics
Aboutcreatingtableofcontentsfiles
ChangeorcreateiconsforcontentsentriesBydefault,HTMLHelpWorkshopprovidesabookiconformaintopicsandaquestionmarkiconforsubtopics.Aspecialiconisavailabletoflagtopicsasnew.Youcanchangethesedefaulticonstooneofseveralotherstandardiconimagesorcreateyourownicons.
Whatdoyouwanttodo?
Useanewiconstripinacontentsfile
Applyanicontoacontentsentry
Flaganewtableofcontentsentry
Createanewiconstripforacontentsfile
Createacontentsfile
Aboutcreatingtableofcontentsfiles
ToaddatextlinktoanHTMLfile<AHREF="filename.htm">link</A>
wherefilenameisthenameofthefileyouwantthelinktojumptoandlinkisthetextyouwantausertoclick.
Aboutworkingwithlinks
AboutcustomizingatableofcontentsTherearemanywaystocustomizehowcontentsentriesintheNavigationpaneappear,andhowthepaneitselfappears.Forexample,youcan:
providedforyourcontentsentries.
Addaborder,plusorminussquares,asunkenedge,orotherdesignelementstoyourcontentswindow.
ChangethewidthoftheNavigationpane.
Haveyourtableofcontentsdisplayonlyheadinglevelentriesorallentrieswhenauserfirstopensit.
HavetheHelpViewerautomaticallydisplaytheContentstabwhenauserfirstopensit.
ChangewhethertheContents,Index,andSearchtabsappearatthetop,bottom,orsideoftheNavigationpane.
IfyoudesignforaWebsiteoryourownframeset,youcanaddHTMLdesignelementstocustomizethefileorframeyouaddtheHTMLHelpActiveXcontrolto.Youcanthenspecifytheframenameyouwantyourpagestojumpto.
Customizeatableofcontents
TocustomizetheappearanceofacontentsfileCustomizeatableofcontents
CreateanindexfileYoucreateanindexbyusingHTMLHelpWorkshoptocreateanindex(.hhk)file.Youthenaddkeywordstotheindexfile.
Whatdoyouwanttodo?
Learnmoreaboutcreatingindexfiles
Createanewindexfile
Createkeywords
Editoraddupdatestoanexistingindexfile
LearnaboutthedifferencebetweentheIndextabandtheSearchtab
Aboutcreatingindexfiles
Tosetanindexkeywordtojumptoanotherkeyword3. ClicktheGeneraltab,andthenclickEdit.4. IntheFileorURLbox,typethekeywordyouwanttojumpto,andthen
clickOK.
Note
Thisisusefulforcreatingcross-references,suchasSeeAlsoindexentries.
Aboutcreatingindexfiles
Tosetanindexkeywordtobeinactive3. ClicktheGeneraltab,andthenclickEdit.4. IntheFileorURLbox,replacethefilenameorURLwiththekeyword
exactlyasitappearsintheKeywordbox,andthenclickOK.
Note
Thissetsanindexentrytojumptoitself,creatingtheappearanceofaninactivelink.
Aboutcreatingindexfiles
TocreateanindexthatusesasitemapIfyouareauthoringanindexforaWebsite,makesureyouaddtheHTMLHelpActiveXcontroltothetopicfilesyouwanttheindextoappearin.SpecifyIndexasthecommand,andthenspecifythenameandlocationforyourindexfile.
AnindexcompiledusingthebinaryformatwillnotworkonaWebsite.YoucanuseasitemapindexforbothaWebsiteandacompiledhelpfile.
Ifyoucompileahelpfileandsetthecompatibilitytoversion1.0,asitemapindexwillbecreated.
Aboutcreatingindexfiles
TocompileaprojectcompatiblewithHTMLHelpversion1.0Notesversionoftheindexwhentheprojectfileiscompiled.Italsodisablesthemergefeature.Ifmorethanonecompiledhelpfileisreferenced,indexes,Keywordlinks(KLinks),Associativelinks(ALinks),andfull-textsearchlistsarenotmerged.
Aboutcompilingahelpproject
CreatekeywordsforabinaryindexAbinaryindexisautomaticallygeneratedwheneveryoucompileanindexintoacompiledhelp(.chm)file.YoucancreatekeywordseitherbyaddingthemtotheindexfileorasKeywordlinks(KLinks)thatareaddedtotargetfiles.
KeywordsintheindexwillbemergedwithanythatyouhaveaddedtoHTMLfileswhentheindexiscompiled.Ifyouaremergingindexesfrommultiplecompiledhelpfiles,besuretoconsiderhowtomanagetheindexfilesinthecollection.
Notes
Binaryindexesareautomaticallysortedbythecompiler.
Abinaryindexwillnotbecreatedifyouselect1.0astheversionintheCompatibilitybox,ontheCompilertab,intheProjectOptionsdialogbox,oriftheCreateabinaryindexcheckboxiscleared.
Whatdoyouwanttodo?
Createakeywordwithmultipletargets
Tosetanindexkeywordtojumptoanotherkeyword
Createabinaryindex
Learnaboutthedifferencebetweenbinaryandsitemapindexes
Aboutcreatingindexfiles
CreatekeywordsforasitemapindexAsitemapindexisautomaticallygeneratedwheneveryoucreateanindex(.hhk)fileanddonotcompileit.Youcreatekeywordsbyaddingthemtotheindexfile.
Youhavecompletecontroloverhowasitemapindexissortedandcaneditandcreatecustomsortordersforyourindex.
Notes
Keywordlinks(KLinks)andAssociativelinks(ALinks)arenotavailablewhenyouuseasitemapindex.
Asitemapindexwillalsobecreatedifyouselect1.0astheversionintheCompatibilitybox,ontheCompilertab,intheProjectOptionsdialogbox.
Whatdoyouwanttodo?
Createakeywordwithmultipletargets
Setanindexkeywordtojumptoanotherkeyword
Learnaboutthedifferencebetweenbinaryandsitemapindexes
Aboutcreatingindexfiles
ThedifferencebetweenbinaryandsitemapindexesTherearetwotypesofindexesavailableforhelpauthorstouse,abinaryindexorasitemapindex.Eachtypeofindexhasitsownuniquefeatures.
BinaryindexThistypeofindexisusedonlywithcompiledhelp(.chm)files.Thefollowingaresomecharacteristicsabinaryindex:
Goodforlargeindexesbecauseitscompiledsizeisverysmall.
Isautomaticallysortedduringcompile.Ahelpauthorcannotcustomizehowabinaryindexissorted.
Canbemergedwithotherindexes.Allindexesarethensortedatcompiletimeasone.
CanbeusedwithKLinkstocreatelinkstospecifictopics.
WillautomaticallymergekeywordsaddedtoHTMLfileswithKeywordlinks(KLinks)addedtotheindexfile.
sitemapindexThistypeofindexmustbeusedwhenauthoringanindexforaWebsite.Itcanalsobeusedwithcompiledhelpfiles.Thefollowingaresomecharacteristicsofasitemapindex:
WorksonaWebsite.
Helpauthorhascompletecontroloverhowtheindexissorted.
Workswithoutbeingcompiled(butcanalsobecompiled).
SameindexcanbeusedforWebsiteandcompiledhelpfile.
Isbettertousewithsmallerindexesbecausesitemapindexesarelargerthanbinaryindexes.
Keywordsarenotmergedwithotherindexesorsortedduringcompile.
KLinksdonotworkwithsitemapindexes.
Note
Themethodyouuseforcreatingkeywordsdependsonwhetheryouarecreatinganindexthatwillbeusedinacompiledhelpfile,onaWebsite,orinasituationwheretherearemultipleindexes.
Aboutcreatingindexfiles
AbouttheHiddeninformationtypeYoucandefineaHiddeninformationtypetoidentifyorgrouptopicswhenaprogramisstarted,beforeauserseesthem.Youselectwhichtopicswillappearbasedontheelementsoftheprogramthatareactive.Hiddeninformationtypesareneverseenbyusers;theyareinsteadcontrolledbytheprogram.
Thisfeatureallowsprograms,throughtheHTMLHelpAPIorthroughhostingtheHTMLHelpActiveXcontrol,todeterminewhatinformationispresentedtotheuser.TheHiddeninformationtypeattributealsodetermineswhichURLsshouldbelinkedtowhentheyareassociatedwithaninformationtype.
Note
Version1.1ofHTMLHelpWorkshopallowsyoutoauthortopicsthatusetheHiddeninformationtypeattribute.TheabilitytoinvokethemthroughtheHTMLHelpAPIhasnotyetbeenimplemented.
Aboutassigninginformationtypes
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
Todefineinformationtypeswhennotusingcategories4. IntheDescriptionbox,typeadescriptionoftheinformationtype.Thedescriptionisimportantbecauseitisviewedbytheuserinthewizardthatwalksthemthroughinformationtypeselection.
5. ClickeitherInclusiveTypeorExclusiveTypetoassignaninformationtypeattribute.
Notes
Youmaywanttomakeabackupcopyofyourcontentsfilebeforeyouaddinformationtypestoit.
Afteryoudefineinformationtypes,youcanassignthemtoatableofcontentsentry.
Youcancreateupto32separateinformationtypes.Thenameforaninformationtypecannotexceed255characters.
Ifusedwithalargecollectionofmergedcompiledhelp(.chm)files,informationtypesshouldbestandardizedinallthefilesinthecollection.
Informationtypesarenotsupportedwhenusingabinarytableofcontents.
Aboutassigninginformationtypes
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
ToassignaninformationtypetoacontentsentryNotesinformationtypesshouldbestandardizedinthetableofcontentsforallthefilesinthecollection.
Informationtypesarenotsupportedwhenusingabinarytableofcontents.
Aboutassigninginformationtypes
AboutinformationtypeattributesAninformationtypecanbeeitherInclusiveorExclusive.IfyouselecttheInclusiveinformationtype,theuserwillbeallowedtoselectfromoneormoreinformationtypes.IfyouselectExclusive,theuserwillbeallowedtochooseonlyoneinformationtypewithineachcategory.
Notes
DefineallInclusiveinformationtypesbeforeyoudefineExclusiveones.
Informationtypesinthesamecategorycan'tbebothInclusiveandExclusive.
Aboutassigninginformationtypes
AboutmakinginformationtypeselectionavailabletousersIfyouassigninformationtypestoanytopicsinthetableofcontents,theusercancustomizewhichtopicstheysee.Theycandothisbyopeningacompiledhelpfile,clickingontheContentstab,andthenright-clickinganywhereintheNavigationpaneoftheHelpViewer.
AnotherwaytoprovideinformationtypeselectionforusersistoaddanOptionsbuttontoanysecondarywindowsyoucreate.TheuserclickstheOptionsbuttononthebuttonbar,andthenclicksCustomize.
Aboutassigninginformationtypes
Toremovecategoriesandinformationtypes3. Deletethe<OBJECTtype="text/siteproperties">tag,deletealltheinformationtypeslisted,anddeletethe</OBJECT>endtagfromthefile.
4. Deletethe<paramname="Type"value=>tagsfromeachtableofcontentsentrythataninformationtypeisassignedto.
Aboutassigninginformationtypes
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
AutomaticallyhidingtheNavigationpaneYoucandesignyourcompiledhelp(.chm)filesothattheNavigationpaneisautomaticallyhiddenwhenauserclicksoutsideoftheHTMLHelpViewer.Thisallowstheusertoseemoreofthescreenwhenworkinginasoftwareprogram.Whentheuserclicksinsidethehelptopic,theNavigationpaneisreopened.
ToseeanexampleofahelpfilethatautomaticallyhidestheNavigationpane,youcandownloadandviewthehelptopicsfortheHelpViewerfromtheHTMLHelpWebsite.
AboutcustomizingtheHelpViewer
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
Toenablefull-textsearchNotesfull-textsearchstoplistinyourprojectfile.
AboutcustomizingtheHelpViewer
ToaddaSearchtabtotheNavigationpane4. ClickAdd/ModifyWindowDefinitions,andthenclicktheNavigationPanetab.
5. IntheWindowtypebox,clickthewindowyouwant,andthenselecttheSearchtabcheckbox.SelecttheAdvancedcheckboxtoaddadvancedfull-textsearchfeatures.
Notes
Youcandecreasethetimeittakesforafull-textsearchbyincludingafull-textsearchstoplistinyourproject.Anywordsinthestoplistareomittedfromthesearch.Theseareusuallycommonlyoccurringwords,suchas"the"or"and"thatauserisunlikelytosearchfor.
Afteryouaddanewtab,youmaywanttoadjustthewindowsizeandpositionoftheHelpViewertoaccountforthenewspacethetabusesinthenavigationpane.
AboutcustomizingtheHelpViewer
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
Toaddasecondarywindow3. ClicktheGeneral,Buttons,Position,Files,NavigationPane,StylesandExtendedStylestabstocreatethefeaturesyouwantforyoursecondarywindow.
Note
YoucanalsocreateawindowwithoutaNavigationpane.
Aboutcreatinghelpwindows
TocreateawindowwithoutaNavigationpane3. ClicktheNavigationPanetab,andthencleartheWindowwithnavigationpane,topicpane,andbuttonbarcheckbox.
Note
TocustomizetheHelpViewertoappearasawindowwithoutaNavigationpane,youmustcreateaanewwindow.Anychangestoyournewwindowarethennotedinthe[WINDOWS]sectionoftheproject(.hhp)file.
Aboutcreatinghelpwindows
ToassignawindowtypetoacontentsorindexentryNotescontinuetoappearinthedefaultwindow.
Aboutsecondaryhelpwindows
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
Tospecifythetitleforahelpwindow3. TypethewordsyouwanttoappearinthewindowtitleintheTitlebartextbox.
Aboutcreatinghelpwindows
Tospecifyfilelocationsforwindowtypes3. TypefilelocationsfortheTOCandIndexfiles,ifyouareusingthem.4. TypeafilelocationintheDefaultboxfortheHTMLfileyouwantto
displaywhenthehelpfileisfirstopened.
5. TypefilelocationsfortheHomebuttonandanycustomjumpbuttonsyouareusing.
Aboutcreatinghelpwindows
Tomakechangestotheoverallstyleofhelpwindows3. Selecttheoptionsyouwant.
Notes
windowtype.
Youcanclickthequestionmarkintheupper-rightcornerofthescreen,andthenclickastyleoptiontoseeadefinitionoftheoption.
Aboutcreatinghelpwindows
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
Totestchangesinthebackgroundorforegroundcolorofapop-upwindow3. ClickTest,andthenclickDone.
Aboutcreatinghelpwindows
Toaddorremovebuttonsinahelpwindow3. Selecttheoptionsyouwant.
Notes
Viewerbeforeyoucanaddorremovebuttons.
Seethelistofbuttonfunctionsforthefunctionalityincludedwitheachbuttontype.
IfyoucreateaJumpbutton,youwillbeguidedthroughawizardtospecifythejumplocation.
Aboutcreatinghelpwindows
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
CompileahelpprojectThereareavarietyofcompilersettingsyoucanspecifyinHTMLHelpWorkshop.
Whatdoyouwanttodo?
Compileahelpprojectfile
Addcompressiontoahelpfile
Condensefilesstoredindifferentfolderstoasinglelocationattheroot
Specifythedefaulttopicforthecompiledhelpfile
Provideatitleforthecompiledhelpfile
Specifyalocationforacompiledhelpfile
CompileaprojectfilefromtheDOSprompt
Viewcompiledhelpfileinformation
CompileaprojectcompatiblewithHTMLHelpversion1.0
Aboutcompilingahelpproject
Tocompileahelpprojectfile
Tosavecompilermessagestoafilepath.
NoteAboutcompilingahelpproject
TheHTMLHelpauthoringcommandsThisiswheretheauthoringcommandsappearintheHTMLHelpViewer:
AboutHTMLHelpauthoringassistance
AboutsplittingtopicsinanHTMLfileHTMLHelpisdesignedtoworkwithmultiplefiles,eachcontainingasingletopic.However,youmayfinditeasiertouseasingleHTMLfilethatcontainsacollectionoftopics.TheSplitFilecommand(ontheEditmenu)insertsanHTML<OBJECT>tagbetweenyourhelptopics,whichtellsthecompiler(Hha.dll)tobuildeachtopicasaseparateHTMLfilewhenyoucompileyourhelpproject.
YoucanusetheSplitFilecommandtobreakuptopicsyouhavealreadycreatedinanHTMLfile,ortosplittopicsasyouauthortheminasinglefile.
IfyouareswitchingfromWinHelp,yoursourcedocumentmaybeanexistingRichTextFormat(.rtf)file,convertedtoHTML,thatcontainsmultipletopics.Bysplittingthefileintoseparatetopics,youcanuseasinglesourcefiletocreatemultipleHTMLtopicfiles.
AboutcreatingHTMLtopicfiles
ToaddaKLinkkeywordtoanHTMLfileKeywords.4. ClickAdd,andthenspecifyanykeywordsyouwanttoinsertintothe
file.Youcanaddmultiplekeywordsbyseparatingeachnamewithasemicolon.
Notes
TouseKLinks,yourhelpprojectmustbesetuptoincludekeywordsfromHTMLfiles.
InsertingaKLinkaddsan<OBJECT>tagtoyourHTMLfile.Thefilecannowbeatargetfile,andyoucancreateaKLinkfromanotherHTMLfiletoit.
IndexfilescreatedusingthesitemapmethoddonotsupportKLinks.
YoucantestKLinksincompiledhelpfiles.
FormoreinformationaboutKLinks,seetheHTMLHelpActiveXcontrolreference.
Aboutworkingwithlinks
DevelopguidelinesfortestingBeforeyoubegintesting,considerdoingthefollowing:Makesureallthetestersarerunningthesameversionofthehelpfileand,ifthehelpfileisrelatedtoaprogram,thesameversionoftheprogram.
Deviseamethodforreportingandtrackingbugsuntiltheyarefixed.Thebugreportshouldbeclearandcompletesothatitisusefultothehelpauthorwhowillhavetofixtheproblem.Ideally,thebugreportshouldcontaininformationaboutthehelpfileandtopicaffected,adescriptionoftheproblem,andthestepsrequiredtoreproducetheproblem.
Youmightalsowanttoasksomeonewhoisunfamiliarwithyourhelpfileandproducttoactasasampleuserandhelpyoutestyourhelpfile.Asktheusertofindinformationaboutparticulartasks,tousetheIndex,Contents,andSearchtabstofindinformation,ortoreadthroughoverviews.Iftheuserhasdifficultyusingapartofyourhelpfile,reworkitandtryagain.
Developaprocessfortestinghelpfiles
CleanupcompilermessagesYoucanfixsomehelpfileproblemsbeforeyouevenopenthehelpfile.Whenyoucompileahelpfile,HTMLHelpWorkshopnotifiesyouofsomebasicproblemsinthefilebyreportingcompilermessages.
Yourfirsttestingtaskistocompilethehelpprojectandviewthecompilermessages.Makesuretherearenonethatcancauseproblemsinyourhelpfile.
Ifyouhavecreatedcontext-sensitivehelpforyourprogram,readthetopiconfixingcontext-sensitivehelpproblems.
Developaprocessfortestinghelpfiles
TesthelpintheuserinterfaceIfyourhelpsystemisdesignedsothatahelpfilecanbeopenedfromaHelpmenuorotheritemintheuserinterface,testtoensurethathelpwillstartwhenusersexpectitto.
SuggestedtasksfortestingIfyourhelpsystemisdesignedsothatahelpfileopenswhenauserpressestheF1key,testthatthecorrecthelptopicopens.Openeachdialogboxthathaslinkstohelpandtestthatthecorrecthelptopicopens.Ifyourprogramhashelpbuttonsindialogboxes,tryallofthem.Ifyourprogramusesaquestionmarkorright-clickhelp,testanyitemsthathavehelpconnectedtothem.
Double-clicktheiconforthehelpfile.MakesuretheHelpViewerortheframesetyouhavecreatedopensandthatthecorrectindex,tableofcontents,ortopicappearsinthecorrectwindow.
Ifyourhelpsystemcontainsfilesforoptionalcomponents,testhelpfileswitheachcomponentinstalledornotinstalledtoensurethatthecorrectfilesappearatthecorrecttimes.
Ifyouuseinformationtypesinyourhelptopics,testtoensurethatthetopicsarereachingtheappropriateaudiences.
IfyouaredeliveringahelpsystemtodifferentWebbrowsersortouserswithdifferentversionsofthesameWebbrowser,testyourtopicsineachbrowserorbrowserversion.
Testingcontext-sensitivehelpUnfortunately,thereisnoautomatedwaytomakesurethatthecorrectcontext-sensitivehelptopicappearswhentheuserrequestshelpforanitem.Youneedtotestcontext-sensitivehelpincontextbyusingyourprogram.Openeverydialogboxandclickeveryitemwhereyouexpectcontext-sensitivehelptoappear.
Developaprocessfortestinghelpfiles
Testinglinks,pop-upwindows,andrelatedtopicsWhentestingahelpfile,youshouldalsoensurethatallhyperlinks,pop-upwindows,andRelatedTopicslinksareworkingcorrectly.
SuggestedtasksfortestingOpenthehelpfileandtestallofthelinksfromtheContentstabtomakesuretheyallleadtothecorrecttopic.
Makesurethatthetopicsyoulinktoappearinthecorrectwindowtype.
Developaprocessfortestinghelpfiles
CheckingformattingandstylesYoushouldalsotestallstyles,cascadingstylesheets,tables,andanyotherformattingusedinyourhelpsystem.
SuggestedtasksfortestingMakesureallHTMLtagshavebothastartandanendbracketandthatexpectedelementsandmetatagsareallinplace.
Checkthatheadings,numberedlists,bulletedlists,andsoonareallformattedusingthecorrecttags.
Makesurethatspacingandmarginsarecorrect.
Viewthehelpfileondifferentmonitorsandbrowserstomakesuretheformatting,colors,andstylesarecorrect.Ifanyofyourstylesusethesamefontsasthebrowseryouareviewingin,changeyourdefaultbrowserfontsothedifferenceinstylesisimmediatelyapparent.
Ausefultestofwhetheracascadingstylesheetisworkingornotistoaddthestyleinformationusingthe<STYLE>tagwiththeincludedstylestoarepresentativefileortwo.Youcanthencomparethesefilestotheonesusingthe<LINK>tag.
ChangeyourWindowsdesktopcolorschemeandmakesurethehelpfileisstillreadable.
Testyourstylesheetindifferentversionsofthesamebrowser.Forexample,newdevelopmentsincascadingstylesheetscausethemtodisplaytopicsdifferentlyinMicrosoftInternetExplorer4.0thantheydidinearlierversionofInternetExplorer.
Developaprocessfortestinghelpfiles
ReviewingaccuracyandstyleofhelpcontentYoushouldtestcontent,images,andothertexttomakesurethatalltextisaccurateandcompleteandthatitfollowseditorialguidelines.
Suggestedtasksfortestingthatusedintheuserinterface.
Makesurethatalltopicsfollowanyeditorialguidelinesyouhavesetup.
Accessallsecondaryhelptextorinformationattachedtoyourprogram.Areerrormessagesunderstandableandeasytoread?Istheinformationprovidedindialogboxesaccurateandclear?
Developaprocessfortestinghelpfiles
Checkingthehelpfileindex,spelling,andtitlesBeforeyoushipyourhelpfile,doafinalspellingcheckandmakesurethateverythingworkscorrectlyfromtheIndextab.
Suggestedtasksfortestingindex.
ScrollthroughallentriesintheIndextab.Makesurethekeywordsappearcorrectlyandthattheyjumptothecorrecttopics.
Makesurethatalltopicshaveatitledefined,ifnecessary.
Intheindex,checkforproperindentationofkeywordsandheadings.Becauseofthewaykeywordsaresorted,youneedtomakesurethattheorderofthekeywordslookscorrectandthatsecond-levelentriesappearundertheproperfirst-levelentries.
Makesurethatkeywordsjumptothecorrecttopicsbydouble-clickingeachone.
Ifyoucombinedorconvertedkeywordsfrommultiplehelpfiles,checkcloselyforconsistency.Youmaynoticeinconsistenciesinterminology,useofbothsingularandpluralformsofwords,andinconsistentverbconstruction.
Developaprocessfortestinghelpfiles
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
Toclearhelpmessages
Todecompileacompiledhelpfilefromthecommandlinewhere-decompileistheswitch,folderisthenameofthedestinationfolderwhereyouwantthedecompiledfilestobecopied,andchmisthenameofthecompiledhelp(.chm)fileyouwanttodecompile.
Note
Client-sidecommandlineswitchesarepartoftheHTMLHelpexecutableprogram(Hh.exe)andthereforeworkwhenHTMLHelpWorkshopisnotsetup.
Aboutcommandlineswitches
UsingamapIDfromthecommandlinewhere-mapidistheswitch,andidistheIDoftheHTMLfileorotherfileyouwanttoappear.
Notes
aWindowsshortcut.
Client-sidecommandlineswitchesarepartoftheHTMLHelpexecutableprogram(Hh.exe)andthereforeworkwhenHTMLHelpWorkshopisnotsetup.
Aboutcommandlineswitches
Tocreatean800X600windowfromthecommandlinetypesinyourcompiledhelpfile.
Client-sidecommandlineswitchesarepartoftheHTMLHelpexecutableprogram(Hh.exe)andthereforeworkwhenHTMLHelpWorkshopisnotsetup.
Aboutcommandlineswitches
TospecifyatitleforawindowfromthecommandlineNoteThiscommandisignoredifyouhavespecifiedanydefaultwindowtypesinyourcompiledhelpfile.
Client-sidecommandlineswitchesarepartoftheHTMLHelpexecutableprogram(Hh.exe)andthereforeworkwhenHTMLHelpWorkshopisnotsetup.
Aboutcommandlineswitches
StartthecontrolwizardandspecifytheshortcutcommandIDnameforthisinstanceofthecontrol.
4. ClickNext.
Specifyhowyouwantthecommandtoappeartotheuser
Specifyhowyouwantthecommandtoappeartotheuser
Selectthebuttonoptions3. ClickNext.
Note
wizardscreen.
HTMLHelpWorkshopcomeswithabuilt-in"shortcut"icon.Tousethisicononashortcutbutton,selectDisplayabitmaponthebutton,andtype"shortcut"(withoutthequotes)intheBitmapfield.
Specifytheprogramtoopen,parameters,andwindowclass
Specifytheprogramtoopen,parameters,andwindowclassclassbox.Doingthismakesitsothatonlyonecopyoftheprogramwillberun.Youcanleavethisboxblankifyouwantto.
Note
YoucanopenaWindowscontrolpanelbyspecifyingtheappropriatefileintheProgrambox.Windowscontrolpanelsareidentifiedbythe.cplfilenameextension.
SpecifyastandardWindowsmessage
SpecifyastandardWindowsmessageprogramcannotbefound.Youcanleavethisboxblankifyouwantto.
Backtothebeginning
Aboutshortcuts
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
Tocreateatextfileforpop-uphelptopics.topictopicIDhelptopic
WheretopicID,isthesymbolicIDofaspecificdialogboxcontrol,andhelptopicisthehelptextforthecontrol.
4. Savethetextfile.
Thesampletextfile,below,istakenfromHTMLHelpWorkshop:
Notes
IfyouuseanIDH_prefixwiththetopicID,asshownintheexampleabove,HTMLHelpWorkshopwillautomaticallycheckthatthetopicsmappedinyourprojectfileactuallyexistinyourcompiledhelp(.chm)file,andthatyourcontext-sensitivehelptopicsareallmappedinyourprojectfile.
ThetopicIDforeachentrymustbeunique.
Tosimplifyfilemanagement,youcanstorehelptopicsinmultipletextfiles.
YoucanalsouseMicrosoftNotepadoranyothertexteditortocreatethistextfile.
Createaheaderfile
Tocreateaheaderfile#defineIDH_symbolicID1000
WheresymbolicIDisthesymbolicIDforpartoftheprogram(suchasadialogboxorcontrol)and1000isthenumericID.ThenumericIDsintheheaderfileareusedonlybytheHTMLHelpcompiler.ThecompilermapsnumericIDsintheheaderfiletohelptopics.
3. Savethefilewitha.hextension.
ThefollowingsampleheaderfileistakenfromHTMLHelpWorkshop:
Note
IfyouuseanIDH_prefixwiththesymbolicID,asshownintheexampleabove,HTMLHelpWorkshopwillautomaticallycheckthatthetopicsmappedinyourprojectfileactuallyexistinyourcompiledhelp(.chm)file,andthatyourcontext-sensitivehelptopicsareallmappedinyourprojectfile.
Createa[TEXTPOPUPS]sectioninaprojectfile
Tocreatea[TEXTPOPUPS]sectioninaprojectfile4. Savetheproject.
Includeaheaderfileinaprojectfile
Toincludeaheaderfileinaprojectfile4. Savetheproject.
Backtothebeginning
Aboutcontext-sensitivehelp
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
Troubleshootingcontext-sensitivehelpIfyourcontext-sensitivehelpisnotworkingproperly,usethefollowingchecklisttolocateandsolvetheproblem:
MappingissuesDoeseachIDthatismappedintheprojectfilehaveatopicinthecompiledhelpfile?
IncludedfileissuesHaveyouincludedatext(.txt)fileinthe[TEXTPOPUPS]sectioninyourprojectfile?
Isyour[TEXTPOPUPS]sectionreferencingthecorrectlocationoftheheaderandtextfiles?
Pop-uphelptopicissuesHaveyoudouble-checkedyourtextfileformisspellingsorsyntaxerrors?
Note
IfyouusedtheIDH_prefixforyourcontext-sensitivehelptopicIDs,HTMLHelpWorkshopautomaticallycomparesthetopicIDsinyourcompiledhelpfileagainstthosemappedtonumericvaluesinyourprojectfile.Compilermessageswilltellyouwhereyourcontext-sensitivehelpisbrokensoyoucanfixit.
Aboutcreatingcontext-sensitivehelp
Tomergemultiplehelpfilesatruntime
Notes
shippedwiththemaincompiledhelpfile,andallmustbelocatedinthesamedirectory.
Thisproceduremergestheindex,Keywordlinks(KLinks),Associativelinks(ALinks),andfull-textsearchinformationfrommultiplecompiledhelpfiles.UnifiedindexandsearchinformationappearsintheNavigationpaneoftheHelpViewer.
Ifyoualsowantaunifiedtableofcontents,youmustcreateacontentsfilethatlinkstoothercontentsfiles.
Themergefeaturewillnotworkifyoucompileahelpfileandsetthecompatibilitytoversion1.0.
Therearespecialconsiderationswhenlinkingbetweenmergedhelpfiles.
Aboutmerginghelpfilesatruntime
TocreateanewHTMLfileNotesentryforthetitle.
Tochangethetitleofafile,clicktheTagsmenu,andthenclickTitle.Toaddahiddencommenttoafile,clicktheTagsmenu,andthenclickComment.YoucanuseanyauthoringtooltocreateHTMLfilesaslongasyoucreatestandardversion3.2HTMLsourcecode.
AboutcreatingHTMLtopicfiles
ViewingHTMLfilesYoucanviewHTMLfilesinseveralways.
Whatdoyouwanttodo?
ViewanHTMLfileaspartofacompiledproject
OpenanHTMLfileandviewitssourcecode
AboutcreatingHTMLtopicfiles
AddingHTMLtagsandotherelementstofilesInadditiontotext,HTMLfilescontainHTMLtagsandelementssuchasDynamicHTMLandscriptsthatcanaffecthowinformationappearsinthetopic.
Formoreinformationaboutthetagorelementyouareadding,seetheHTMLTagReference.
Whatdoyouwanttodo?
AddthemostcommonHTMLcharacterformattingtagstoyourfile
StoreHTMLtagsortextforlateruse
InserttheHTMLHelpActiveXcontrolintoafile
AddRelatedTopicslinkstoafile
Createashortcutinahelptopic
AboutcreatingHTMLtopicfiles
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
AbouttheHTMLHelpJavaAppletTheHTMLHelpJavaAppletisacontrolcontainingnavigationfeaturesthatyoucaninsertintoanHTMLfile.UsetheHTMLHelpJavaAppletwithanyWebbrowserthatsupportsJava.
TheHTMLHelpJavaAppletenablesyoutoaddthefollowingnavigationfeaturestoyourHTMLfiles:
Tableofcontents
Index
RelatedTopics
TheHTMLHelpComponents
ToedittheHTMLHelpActiveXcontrolinafileNote
ToaddRelatedTopicslinkstoafile4. Followtheinstructionsonthescreen.
Notes
box.Youcanspecifythattheyinsteadappearonapop-upmenu.
RelatedTopicscanbeauthoredasatextlink.
YoucanspecifythatRelatedTopicsopeninasecondarywindow.
Aboutworkingwithlinks
TolinkfromatopicinaHTMLHelpfiletoatopicinaWinHelpfileAboutworkingwithlinks
Tocreateatwo-frameHTMLframeset<Framesetcols="40%,*"><Framename="left"src="left.htm"><Framename="right"src="right.htm"></Frameset>
4. Deletethe<BODY>startandendtagsfromthefile.Yourframesetwillnotworkifthefilethatcontrolstheframesetusesthem.
5. Savethefileasframes.htm.
Addanavigationframe
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
Toaddadefaultframelocationtothetableofcontentsfile
Addatopicframe
Toaddatopicframe4. Savethefileasright.htm.
Viewthecompleteframesetinabrowser
ToviewthecompleteframesetinabrowserAboutcreatingframesets
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.
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.
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
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.
Notes
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.
Toaddtheimagetoyourprojectfile
4. Repeatsteps2and3ifyouarereferencinganexternalimagemap.
Notes
Theimagefileshouldresideinthesamedirectoryastheprojectfile.
SkipthisstepifyouareusinguncompiledHTMLfilesanddonothaveaprojectfile.
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.
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.
NoteBacktothebeginning
AboutthescriptandDHTMLexamples
Sample:CreatecollapsiblesectionswithDHTMLThissamplefeaturesanactualtopicfromtheHTMLHelpdocumentation.Clickingthegreenlinkwillmakethesidebardisappear.Clickingthelinkagain,orthesidebaritself,willmakeitdisappearagain.
TospecifythelocationofindexfilesBacktoCreatecollapsiblesectionswithDHTML
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.
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.
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
AboutcreatingdynamichyperlinksYoucancreateamoredynamichelpsystem,andbringgreateremphasistotextlinks,bymakingyourlinkschangecolororsizewhenauserpointstothem.
Foranexample,pointtothelinkatthebottomofthistopic.Thefollowinghoverstylewasaddedtothecascadingstylesheetforthishelpfiletocreatethedynamiclinks:
a:hover{attribute:value;}
whereattributeisastylesheetattribute,andvalueisthecorrespondingvalue.Useasemicolontoseparatemultipleattributes.
Example
Thefollowingexampleshowsananchorthatwillturnredandbecomeboldwhenausermovestheircursoroverthelinktext:
a:hover{color:red;font-weight:bold;}
Createdynamiclinks
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
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
TocompileahelpprojectfromtheDOSprompt
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
TheaccessibilitywordlistWordsinthislisteitherdescribephysicaldisabilitiesordescribefeaturesinsoftwareprogramsthatprovideaccesstouserswithdisabilities.
acceleratorkeysaccesskeysaccessibilityconcernsaccessibilityfeaturesaccessibleaccessingwithkeyboardadjustingforimprovedvisibilityadjustmentsforimpairedmotionorvisionALTtextalternativeinputdevicesappearanceApplicationkeyassigningassistivetechnologyAutoCompleteAutoCorrectAutoFillAutoTextbeepsdifficultyhearingturningoffturningonblindblindnessorlowvisionchangingsizeclickwiththekeyboardcognitiveimpairmentscolorblindcolorpalettecolorsadjustingforimprovedvisibilityusedasvisualcues,alternativestoControlPaneladjustmentsforimpairedmotionorvisioncursor,adjustingforimprovedvisibility
customcustomshortcutkeyscustomizecustomizingdeafdeaforhard-of-hearingdeafnessdefaultbuttonsdialogboxesdefaultbuttonsdefaultvaluesnavigatingwithTABkeynavigatingwithSHIFT+TABkeyENTERkeydifficultyhearingdisabilitiesdisabilityconcernsdisableddocumentationinalternativeformatsonlinedyslexiaenlargeENTERkeyfocusfontsadjustingforimprovedvisibilitychangingsizecolorsformenusfortoolbarsfrequently-usedtexthandicappedhandicapshard-of-hearinghearingimpairmentshigh-contrasthotkeysimagedescriptions
impairedhearing,motion,sight,orvisioninsertionpointadjustingforimprovedvisibilitykeycombinationskeyboardadjustmentsforimpairedmotionlayoutsforindividualswithimpairedmotionshortcutskeyboardcombinationskeyboardnavigationkeyboardshortcutskeystrokeshortcutskeystrokeslargebuttonslargefontslarge-printdocumentationlearningdisabilitieslowvisionmagnifymenus,accessingwithkeyboardmobilityimpairmentsmotionimpairmentsmotorimpairmentsmouseadjustmentsforimpairedmotionorvisionnavigatingnavigationindialogboxesinmenusintoolbarswiththekeyboardwiththemouseonlinepointer,adjustingforimprovedvisibilityprintinglistofreducedhearing,motion,orvisionright-clickwiththekeyboard(Shift+F10)scalescreenenlargement
scrollseizuredisordersselectioncursoradjustingforimprovedvisibilityshortcutkeysassigningformenusindialogboxesfortoolbarsprintinglistofshortcutssightimpairmentssoundsoundsdifficultyhearingturningoffturningonspeechspeechimpairmentsspeech-to-texttextviewtext-to-speechtoolbarsaccessingwithkeyboardcustomizingvisionimpairmentsvisuallyimpairedvoiceinputWindowslogokeywiththekeyboardwiththemousewordlist,accessibilitywordpredictionzoom
Note
Itemsfromthewordlistcanalsobeaddedastableofcontentsentriesorasindexkeywords.Thiswillenableuserswithdisabilitiestoeasilyfindtheinformationtheyneedaboutyoursoftwareproduct.
Abouttheaccessibilitywordlist
Tocreateanewiconstripforacontentsfileimagesshouldbefrom16through20pixelswide,andtheyshouldbeuniform.
Makesureyouriconstripbitmapcontainsatleast14images.Youriconstripbitmapmaycontainasmanyas42images.
Aligneachimagepreciselywithadjacentimages.Don'tputanyspacebetweentheimages.
Aboutcreatinganewiconstripforacontentsfile
TodefineawindowtypefortheHelpViewer3. OntheGeneral,Buttons,Position,Files,NavigationPane,StylesandExtendedStylestabsselecttheoptionsyouwantfortheHelpViewer.
Note
TochangethenameoftheHelpViewer,openaproject(.hhp)file,clickAdd/ModifyWindowDefinitions,andthentypethenewnameintheWindowtypebox.
AboutcustomizingtheHelpViewer
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
WorkingwithbookmarksBookmarksenableyoutolinktoaspecificlocationinahelptopicfromwithinthesametopic,orfromanotherfile.
Whatdoyouwanttodo?
Learnmoreaboutworkingwithbookmarks
Createabookmark
LinktoabookmarkinanotherHTMLfile
Aboutworkingwithlinks
CreateatextlinkforHTMLHelpActiveXcontrolcommandsUsingtheHTMLHelpActiveXcontrolandJavaScript,youcancreatetextlinksinanHTMLfile(suchasaRelatedTopicslinks,Keywordlinks,orAssociativelinks)thathavethesameeffectasaddingabutton.Bydefault,theActiveXcontrolwilladdabuttontothehelptopic.Whenauserclicksthebutton,alistoftopicswillappear.Alternatively,theusercanclickatextlink.
Tocreateatextlinkyoumustuseascriptinglanguage,suchasJavaScript.YoureferenceaninstanceoftheActiveXcontrolandthecommandyouwanttouse,andthenlinkittothetext.FordetailedinformationaboutusingtheClickandHHClickmethodsfortextlinks,seetheHTMLHelpActiveXcontrolreference.
Whatdoyouwanttodo?
Learnhowtocreatealinktoacommandwithoutusingabutton
SeeanexampleofatextlinkusedwithanALink
Assignawindowtypetoatopicwhenlinking
Aboutworkingwithlinks
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
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
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>
</tr></table>
</body></html>
Example:Helpauthoringtemplates
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>
Example:Helpauthoringtemplates
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><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></code>
</body></html>
Example:Helpauthoringtemplates
TohaveALinkorKLinktargettopicsappearonapop-upmenu3. IntheSpecifythecommandbox,clickALinkSearchorKLinkSearch.Ifyouaregoingtousescriptingtoaccessthecommand,entertheIDnametouseforthisinstanceoftheHTMLHelpActiveXcontrol.
4. ClickButtonifyouwanttheALinkorKLinkSearchcommandtoappearasabuttonorHiddenifyouwanttouseatextlinkforthisinstanceoftheHTMLHelpActiveXcontrol.
5. SelecttheDisplayonaPop-upMenucheckbox,andthenfollowtheinstructionsonyourscreen.
Notes
TopicsappearinaTopicsFounddialogboxbydefault.FormoreinformationaboutALinks,KLinks,andothercommands,seetheHTMLHelpActiveXcontrolreference.
Aboutworkingwithlinks
TocreateaKLinkinanHTMLfiletoakeywordinatargetfileselecttheappropriatedisplaytypeandbuttonoptions.
4. IntheRelatedTopicsdialogbox,specifythekeywordsyouwanttojumpto.
Notes
YoumustaddkeywordstotheappropriatetargetfilesbeforetheKLinksearchwillwork.
AddingaKLinktoanHTMLfileaddsan<OBJECT>tagtoyourfile.Thisallowsyoutolinktoanyotherfilesthatcontainthekeywordsyouspecify.WhenauserclickstheKLink,anytopicsthatcontainthekeywordsyouhavespecifiedwillappear.
Tousethisfeature,yourhelpprojectmustbesetuptoincludekeywordsfromHTMLfiles.
FormoreinformationaboutKLinks,seetheHTMLHelpActiveXcontrolreference.
AboutworkingwithKLinks
TocreateabinarycontentsfileNotesInformationtypesarenotsupported.
Aboutbinarycontentsfiles
Touseanewiconstripinacontentsfilethatcontainstheimagesyouwanttouseinsteadofthedefaultimages.
4. Saveandclosetheprojectfile.
5. Reopentheprojectfile.
Note
Ifyouwanttousefoldersandpagesinsteadofbooksandtopics,clickContentsProperties,andthenselecttheUsefoldersinsteadofbookscheckbox.
Aboutcreatingtableofcontentsfiles
Toflaganewtableofcontentsentry
Note
Aboutcreatingtableofcontentsfiles
Tochangeatableofcontentsentrylevelfromafolderorbooktoapage
Note
Aboutcreatingtableofcontentsfiles
Toapplyanicontoacontentsentry4. IntheImageindexbox,selecttheimageyouwanttoapplytothe
contentsentry.
Notes
Someiconsarenotsupportedinabinarytableofcontents.
Aboutcreatingtableofcontentsfiles
AboutcreatinganindexfileTheindexfileyoucreateinHTMLHelpWorkshopisanHTMLfilethatusesasitemapandcanbeaddedtoaWebsite.Ifyouchoosetoincludeitaspartofacompiledhelp(.chm)file,thecompilerwillcompressthesitemapandcreateabinaryindex,whichtakesuplessspace.
Therearesomeimportantdifferencesbetweenbinaryandsitemapindexfilesthatcanhelpyoudecidewhichtypeyouwanttouse.
Notes
IfyouaredesigningahelpsystemusingtheHelpViewer,addinganindexfiletoyourhelpprojectwillalsocreatetheIndextabintheleftpaneoftheHelpVieweraftertheprojectiscompiled.
IfyouaredesigningforaWebsiteoryourownframeset,makesureyouaddtheHTMLHelpActiveXcontroltotheappropriatefilesandspecifyadefaultframetodisplayyourindexfile.
Createanindex
EditanindexfileOnceyoucreateanindex,youcaneditorupdatethekeywordsandspecifyhowtheywillappeartotheuser.
Whatdoyouwanttodo?
Assignanalternatelocationfortopics
Assignawindowtypetoacontentsorindexentry
Createakeywordwithmultipletargets
Setanindexkeywordtojumptoanotherindexkeyword
Aboutcreatingindexfiles
Toaddakeywordtoanindexfile4. IntheHTMLtitleslist,clickthetitleyouwanttoassociatewiththe
keywordor,intheFileorURLbox,typethepathforthefile,andthenclickOK.
5. Ifyouhavespecifiedanyinformationtypesandwanttoaddthemtothisentry,intheAvailableinformationtypesbox,clicktheinformationtypeforthekeyword.
6. Ifyouwanttojumptoanotherlocationifthefirstlocationyouspecifyisnotavailable,intheAlternateURLbox,enteranotherlocationforthekeyword.
Notes
Youcanmoveakeywordupordown,leftorright,byclickingtheMoveArrows.Youcanuseanunlimitednumberofindexlevels.
Aboutcreatingindexfiles
TodefineaHiddeninformationtype4. IntheDescriptionbox,enteradescriptionoftheinformationtype.
Notes
usetheHiddeninformationtypeattribute.However,theabilitytoinvokethemthroughtheHTMLHelpAPIhasnotyetbeenimplemented.
YoucanalsocreateinformationtypesbyclickingPropertiesinacontentsorindexfile.
Thenameforaninformationtypecannotexceed255characters.
TopicswiththeHiddeninformationtypewillnotappearwhenausermakestheirselections.
AbouttheHiddeninformationtype
ToautomaticallyhidetheNavigationpanetheAutomaticallyshow/hidenavigationpanecheckbox.
AboutcustomizingtheHelpViewer
Tocreateafull-textsearchstoplist4. Addthe.stpfiletothesamedirectoryasyourproject(.hhp)file.
5. Addthestoplisttoyourprojectfile.
SamplestoplistCopyanywordsfromthefollowingsamplethatyouwanttoincludeinyourstoplist:
aaboutafteragainstallalsoamonganandareasatbebecamebecausebeenbetweenbutbycancomedoduringeachearlyforformfoundfromhadhashave
heherhishoweverinincludeintoisititslatelatermemedmademanymaymoremostnearnononnotofononlyorotheroverseveralshesomesuchthanthatthetheirthenthere
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
TogeneratekeywordsfromHTMLfilesAboutworkingwithlinks
ToviewanHTMLfileaspartofacompiledproject
ToopenanHTMLfileandviewitssourcecode
ToaddthemostcommonHTMLcharacterformattingtagstoyourfileNote
TostoreHTMLtagsortextforlateruse4. IntheNameoftextblockbox,typeanameforthetextblock.5. IntheTextblockbox,enterthetagortext.
Note
Toeditastoredtag,clicktheTagsmenu,pointtoEditTextBlock,andthenclickthetagyouwanttoedit.
AboutcreatingHTMLtopicfiles
TohaveRelatedTopicslinksappearonapop-upmenugoingtousescriptingtoaccessthecommand,entertheIDnametouseforthisinstanceoftheHTMLHelpActiveXcontrol.
4. ClickAsaButtonifyouwanttheALinkorKLinkSearchcommandtoappearasabuttonorHiddenifyouwanttouseatextlinkforthisinstanceoftheHTMLHelpActiveXcontrol.
5. SelecttheDisplayonapop-upmenucheckbox,andthenfollowtheinstructionsonyourscreen.
Notes
TopicsappearinaTopicsFounddialogboxbydefault.FormoreinformationaboutRelatedTopics,seetheHTMLHelpActiveXcontrolreference.
Aboutworkingwithlinks
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.
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.
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
AboutscreencapturingYoucanusetheHTMLHelpImageEditortocapturethreetypesofwindows:programwindows,childwindows(windowswithintheprogramwindow),orthedesktop.Toperformthecapturesyoucanusekeyboardcommands,mousecapture,ortimedcapture.
Youcanstandardizecolorsforaseriesofcapturestoinsureconsistencyinthefinaloutput.
AbouttheHTMLHelpImageEditor
AboutfileconvertingOnceyouhaveopenedanimageintheHTMLHelpImageEditor,youcanconverttheimagefiletoanyotherformatthattheprogramsupports.
IntheHTMLHelpImageEditor,inputcapabilitieshavebeenexpandedtoinclude:.gif,.jpg,.tga,.pcd,.png,and.wmffiles.Newoutputformatsinclude:.gif,.jpeg,and.tgafiles.
AbouttheHTMLHelpImageEditor
AboutimageeditingTheHTMLHelpImageEditorenablesyoutodotwotypesofcolordepthreductionswithoptimized16-and256-colorpalettes,andtoobtainanexactcolorcountforeachimage.Optimizedscalingallowssizingofscreencaptureswithoutlossoftextclarity.
Expansionandcontractionenablesyoutoselectaspecificpixelsizeforanimage,andpaddingisaddedtothesidesortopandbottomtoachievethedesiredsize.
Automaticclipping,primarilyforscreencaptures,cleanlyclipsoutbordersandexcessareaaroundanimage.TheRe-read(orrevert)functionenablesyoutoreturntothelastsavedversionofafile.TheHTMLHelpImageEditoralsoenablesyoutoundouptonineactionsperfileduringaworkingsession.
AbouttheHTMLHelpImageEditor
AboutfileviewingTheHTMLHelpImageEditorisoptimizedtoloadandscrollthroughmultipleimagesrapidly.
Youcanspecifyfilters,suchascolordepthandinterlacing,whenviewingimagestolimitwhatyouseeintheimage.Thisisusefulfortestinganddebuggingimagedisplayproblems.
Youcanviewimageswithinthedesktop,centeredonthefullscreen,tiledonthefullscreen,orpreviewedas16-colorimagesonthefullscreen.ThetiledviewisaveryhandyfeatureforcreatingHTMLimagebackgrounds.
AbouttheHTMLHelpImageEditor
AboutartmanuscriptsUsetheartmanuscriptfeatureintheHTMLHelpImageEditortocreateorupdateacatalogoftheartinyourproject.ThemanuscriptitselfisanHTMLfilethatcontainsathumbnailimageofeachpieceofart.Fromyourmanuscript,youcanclickonthethumbnailimagestoaccesstheindividualartfiles.
AbouttheHTMLHelpImageEditor
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
Recommended