Additional uncompiled “coaches” which can be installed in WordPerfect 6.0 for DOS. Just retrive the text files in WordPerfect, rename them using “.wpm” extension and give them a descriptive name. They show up in coach men | |||
---|---|---|---|
File Name | File Size | Zip Size | Zip Type |
COACH.DOC | 293320 | 57423 | deflated |
WPCHGN01.TXT | 35214 | 6447 | deflated |
WPCHLB01.TXT | 11978 | 3711 | deflated |
WPCHLBTB.TXT | 71490 | 12742 | deflated |
WPCHLIBR.TXT | 320659 | 42340 | deflated |
WPCHMG01.TXT | 96170 | 14322 | deflated |
WPCHMG02.TXT | 150895 | 19841 | deflated |
WPCHMG03.TXT | 72260 | 9209 | deflated |
WPCHMGTB.TXT | 35110 | 7409 | deflated |
WPCHPS01.TXT | 67635 | 10271 | deflated |
WPCHTB01.TXT | 54477 | 10029 | deflated |
WPCHTB02.TXT | 23905 | 4790 | deflated |
WPCHTB03.TXT | 16251 | 4399 | deflated |
WPCHTB04.TXT | 18655 | 4761 | deflated |
WPCHTB05.TXT | 25875 | 5472 | deflated |
WPCHTB06.TXT | 31524 | 5940 | deflated |
WPCHTC01.TXT | 45891 | 7978 | deflated |
WPCHTC02.TXT | 36785 | 6404 | deflated |
WPCH_AT1.TXT | 76304 | 11486 | deflated |
WPCH_BK0.TXT | 194288 | 30178 | deflated |
WPCH_BM0.TXT | 115208 | 16204 | deflated |
WPCH_BR0.TXT | 113504 | 16430 | deflated |
WPCH_BTB.TXT | 36357 | 8089 | deflated |
WPCH_BU0.TXT | 35567 | 8692 | deflated |
WPCH_CA0.TXT | 48472 | 8846 | deflated |
WPCH_CC2.TXT | 40041 | 8328 | deflated |
WPCH_DI0.TXT | 35730 | 7983 | deflated |
WPCH_FTN.TXT | 66392 | 13132 | deflated |
WPCH_GL0.TXT | 70338 | 11771 | deflated |
WPCH_HF0.TXT | 43608 | 9346 | deflated |
WPCH_HT0.TXT | 89366 | 14104 | deflated |
WPCH_HY0.TXT | 80606 | 11488 | deflated |
WPCH_IF2.TXT | 56524 | 10717 | deflated |
WPCH_IN1.TXT | 24302 | 5267 | deflated |
WPCH_MG0.TXT | 11387 | 3136 | deflated |
WPCH_MGL.TXT | 9182 | 2946 | deflated |
WPCH_MGT.TXT | 9110 | 2909 | deflated |
WPCH_MR0.TXT | 53573 | 10283 | deflated |
WPCH_OT1.TXT | 98106 | 16526 | deflated |
WPCH_PNB.TXT | 57666 | 9303 | deflated |
WPCH_PXY.TXT | 73764 | 12476 | deflated |
WPCH_QL0.TXT | 78319 | 12343 | deflated |
WPCH_SR1.TXT | 33385 | 8256 | deflated |
WPCH_TBL.TXT | 32219 | 6480 | deflated |
WPCH_TC0.TXT | 10191 | 2966 | deflated |
Download File WPCH60.ZIP Here
Contents of the COACH.DOC file
#g0Vrv0`7"%1m0(0T
0c
C"2S"(|
0U
0T
0DMB@0E?Z0M\0L0U.
01
0:Pao>&5 Q q1CYo 7O k 7&W"} U
.3
0Coach Macro Tools(p5$ 0(,!$00`(#(#(3/K$
!Wd2d 0Command>'
6xd6>
Y6:n74ProcedureType:`Procedure Syntax:`230PurposePurpose:08I6ParametersParameters:0`4Dh]2FunctionType:`Function Syntax:0`0`.ReturnReturnValues:0ReferenceStandard Coach Header SampleGlobal VariablesTutorialBlockEditCancelCoachCancelMenusCancelDialogsCheckColorSetColorSchemeCommentsBoxEditMenuExitDlgProcExitDocProcExitWPProcFakeItFileMenuFontMenuGraphicsMenuHelpMenuLayoutMenuMenuBarMenuPopNoSubMenuNotFoundCoachPleaseWaitQuitCoachReplaceProcRestoreStatesSavingDocScreenSetupSetBoxSizeShowMenuToolsMenuViewMenuWindowMenuExitTableEditTableEditControlTableEditCtrl2EditTableTblColEditButtonControlDlgFilter.b4p`$Roman-WPType 1<
9p`(DlgFilterDoEditFilterFilterHintHintHotSpotHotSpotInvalidControlInvalidControlKeyFilterKeyFilterLstBxControlLstBxControlHbI?xxxXXx,STB:aCa/XalTXv1Q8Q/Ql5{qw0S8S`Sg/~)Z8ZZ3g]T8XT%T8TTr5dddXVdr5dddXd,-n2```X`,~)P8PPKI=xSxxK1`C`X`K?/iCiXi6'X8XX6TIySy/yl+9dCd`Xdg/WG}S}`}g/#88Ae*8*eSSSSSSSSSS**eeeJ}fvf]88yfeoXfxooo8e8eS8S\JfP8]a1']1a[d]BG6e^V]S8e8e8*888888*?8488]SSMenuBarControlMenuControlMessageBoxMessageBoxNoBlockNoBlockNoSelectNoSelectOpenDocumentOpenDocumentOverviewOverviewPostItPostItWelcomeWinEdControlWinEdControlXYFilterXYFilterTableBlockEditTableBlockEditPostANotePostANotePostANotePostANote<6X9`+Courier1p
p`Palatino24n
p PalatinoBoldR62
p`SymbolwU''p`*ITC Zapf Dingbats3p`4New Century Schoolbook<6X`#"WP BoxDrawing02Ap`Helvetica52Ap"HelveticaBold
q
#|=9
4LIBRARY.STY
"BDO??=K'"u^2,Qdd/@@Od2@2Adddddddddd22ddd@}yulDEonbs@>@ddHQdPfO:Yg33`1iaecBA=fVVXK@0@dH2HHHHHHHHHHHHi}Q}Q}Q}Q}QuPuOuOuOuOD3D3D3D3iaaaaffffsX}QfaasXapd}Q}Q}QPPPPfuOuOuOuOYYYYYYggD3D3D3D3E`o1o1o1o1p4iiiiaaBBBbAbAbAbA===ffffffsXKKKfo1iBbA=sXsXfafuOD33aNN2de,@LLdddBMdHdH//QQd//``hh+MH'ddddFdf"u^*%CSS'55BS*5*7SSSSSSSSSS**SSS6hetaZ}8:q\\lRn|qk`k545SS
>>>AzzSSSzQzQzQzQMMMn^^^>SzQMnnzcU@@zNa?}7P__}}}Sa}Z}Z;;ee}::xx6`Z'}}}}W}"u^43^hh3DDQh4B4Dhhhhhhhhhh44hhhB}wnJMuxes{D@DhdLYjSkT>`m98j8ngmjJHAm[\^SD2DhL4LLLLLLLLLLLLs}Y}Y}Y}Y}Y}SwTwTwTwTJ9J9J9J9nggggmmmms^}Ykggs^gwk}Y}Y}YSSSSkwTwTwTwT``````mmJ9J9J9J9Mju8u8u8u8v9nnnnggJJJeHeHeHeHAAAmmmmmms^{S{S{Sku8nJeHAs^s^kgmwTJ99gNO4bi3BVVhhhKQhPhP33^^d33bbqq3^P'hhhhKhk"h^A@v?UUeARAUAAS]`UPU}_ohiNxHFF]ZQrsuhU>U_A____________ooooohiiii]H]H]H]Huouooohhhhiiiixxxxxx]H]H]H]H`FFFFH]]]ZZZZQQQuhhhF]ZQuui]HHNcA{@Sll^edd??vv}@@{{?v)d'^"BDO??=K'"BDO??=K'"h;]8CdCCdn2n28dddddddddd88nnnYCCd`(`8\dnnn8!nBBnnnyyPn7c1RyyXyycnnnndccccccccyMMMMMMMMMMMM~nyRzczXzcyhCBnnshcnnonvyXzXshn~zXyCBBnss~|y~~~~~~~~~~~~~~~~~~~~~~XXXXXXXyyyyyyyyyyyyyyyyyyyyyyBBBBBBBBBBBBnnnnnnnssssssssssss"$$8nrcnksX7SNNmmw}\]nrcnksX7SNNmmw}\]"u^8;Noo)CCdy8C88oooooooooo88yyyYQo~zCyCydCooYsdCkz?;w?zdsoY]Nzkkk`CyCyC8CC!CCCCCCCCCCsoooooYddddQ?Q?Q?Q?zddddzzzzkosddkdsoooYYYYsddddkkkkkkzzQ?Q?Q?Q?ow?????zzzzddYYY~]~]~]~]NNNzzzzzzkz`z`z`s?zY~]NkksdzdQ??dNy8yd;YUUoooC
@~
p,Adobe GaramondBoldM62
p`SymbolU''p`*ITC Zapf Dingbatsw3p`4New Century Schoolbook<6X`#"WP BoxDrawing< 9+CourierBold.b4p`$Roman-WPType 11p,Roman-WPBoldType 1A(
Ap`$WP MathAType 1M0nAp`$Helve-WPType 14Ap,Helve-WPBoldType 1*4\Lp`0Dutch 801RomanSpeedo+*p.Dutch 801BoldSpeedo:p`BWP MultinationalA RomanType 1\p`0WP OverflowSetType 1<9p`+2Courier 10RomanSpeedo?xxxXXx,!?
uKXTTKXoT^Xo7[C[X[~
LBTr5bCb+Xbf';CpX rSdt
BmPmmTC?vPv+vfTOd+f1`C`X``j0gCgXgIdV-:sPss:|P||Hd`7UCU,,/XUE5UCU,,xXUtT
8sCsXsu
(=C=X=x>xxx,,cXxQMS PS 815Writer IINTX5&6(&*1$t'QMSPS815.PRShhhhhhhhPUBD/DOC3H
S0664MacroCode
hX
hXb(8
c$00`(#(#
!WGXXXHX,WritingInteractiveCoachesforWordPerfect6.0forDOS :Thisdocumentdescribeshowtowritecoaches(interactivecomputertrainingmodules)forWordPerfect6.0forDOS.Thedocumentisdividedintofourparts:o0`Part1:TutorialExplainswhatacoachis,andhowtowriteone.=`(#`(# o0`Part2:ReferenceDetailstheuserdefinedfunctionsandprocedures_ containedintheWPCHLIBR.WPMandWPCHLBTB.WPMlibraryfilesforusewithcoaches.
`(#`(# o0`Part3:CoachMacroToolsSeveralcoachbuildingmacrotoolsaccompany
thisdocument.Thispartbrieflyintroducesthetools,andexplainshowtousethem.
`(#`(# o0`Part4:AppendixUsefulreference(suchaskeyvalues,etc.)forusewhenW
writingcoaches.
`(#`(# b Part1
Tutorial WhatIsaCoach Acoachisaninteractivecomputeraidedinstructor.AsusedinWordPerfect,coachesteachWordPerfectfeatures,suchashowtoinsertabulletcharacter,howtocreateanoutline,andhowtosearchforandreplacewordsandphrases.Unlikemostotherformsofcomputeraidedinstruction,coachesareintimatelylinkedwithWordPerfectitself.Whenyouuseacoach,you'rereallyusingWordPerfect.Inthisway,coachesguideusersthroughatask,whileatthesametimeperformingthetask.Forexample,whilelearninghowtoinsertabulletcharacter,thebulletisaddedtotheuser'sdocument.Whenfollowingtheoutlinecoach,usersactuallybuildanoutlinewhiletheyarelearningthisfeature.AprimaryuseofcoachesistoexplainaWordPerfectfeature,butthisisnottheironlyuse.Coachescanalsobeusedtowalkusersthroughtheprocessoffillingoutacustommadetemplate,toexplainstandardoperatingproceduretoanewemployee,orevenasageneralteachingtoolforlearningaboutcomputersandtheMSDOSoperatingsystem.CoachesareReallyMacros WordPerfectcoachesaremacros.Thisallowsanyonewhoknowsthemacrolanguagetowriteacoach.NospecialknowledgeoftheinnerworkingsofWordPerfectisrequired.It'simportanttonotethatwhileanyonecanwriteacoachforWordPerfect,itdoesrequireasignificantknowledgeoftheWordPerfectmacrolanguage.Inadditiontoageneralfamiliarityofthemacroslanguage,youshouldhavespecificknowledgeofthefollowingadvancedmacrotechniques:o`Customdialogboxes 7 o`Userdefinedfunctions! o`Userdefinedprocedures"! o`Arrays#" o`Passingvariablesbyaddress$# o0`Systemvariables(particularly?Dialogand?DialogControl)t% $`(#`(# Ifyouareunfamiliarwiththeseadvancedtopics,youmaywishtofirststudytheWordPerfectmacrolanguage,andhowitisused.WordPerfectcomeswithanonlinehelpreferenceforthemacrolanguage(chooseHelpMacros);thereferenceisalsoavailableindiskandprintedformdirectlyfromWordPerfectCorp.Inaddition,agoodsourceoflearningabouttheWordPerfectmacrolanguageistostudythemacrosthatcomewiththeprogram.TheseincludeALLFONTS.WPM,BULLET.WPM,EDITCODE.WPM,andGLOSSARY.WPM.-(- CoachesAreBuiltUsingaPremadeLibraryofFunctions AllofthecoachesthatcomewithWordPerfectrelyonasetofuserdefinedfunctionsandprocedures.Thesearestoredina"library"file,WPCHLIBR.WPM.TheWPCHLIBR.WPMfunctionsandproceduresareselfcontainedroutinesthatprovidecoacheswithcorefunctionality.Inthisway,youdon'thavetowriteyourcoachesfromscratch.Justaccessoneoftheover50functionsandprocedureswheneveryouneedit,justasyouwouldabuiltinmacrocommand.Part2ofthisdocumentdetailstheWPCHLIBR.WPMfunctionsandprocedures,andhowtousethem.AsitcomeswithWordPerfect,theWPCHLIBR.WPMfilehasbeen"stripped";thetextportionofthemacrohasbeenremoved,andonlythecompiledportionremains.However,anunstrippedversionoftheWPCHLIBR.WPMfileisavailablefromWordPerfect.Printthisfileforacloserlookatthefunctionsandprocedurescontainedwithinit.AccessingCoachesThroughHelpK IfyouarewritingcoachestoexplainafeatureorfunctionofWordPerfect,youcanhavethemappearintheCoachdialogboxwhentheuserselectsHelp,Coaches.Thelistofcoachesthatappearsisderivedfromthecoachfilesintheuser'sMACROSdirectory(theMACROSdirectoryisspecifiedintheLocationofFilesdialogbox).Todisplaythelistofcoaches,WordPerfectscansthedirectoryforfilesusingthepatternWPCH_xxx.WPM,wherexxxisanythreevalidDOScharacters.ForexampleWPCH_ABC.WPM,orWPCH_123.WPM.ForthosefilesthatmatchtheWPCH_xxx.WPMnamingconvention,WordPerfectpeeksintothefileandretrievestheDescriptiveNamedocumentsummaryfieldcontainedwithinit.ThisDescriptiveNameisshownintheCoachdialogbox.TodisplayyourowncoachesintheCoachdialogbox,besuretheyaregivennamesusingtheWPCH_xxx.WPMpattern,andbesuretoaddaDescriptiveNametothefilewhenyousaveit.Pleasenote:WordPerfectsortsthedescriptionsoftheavailablecoachesintheCoachdialogboxusingaspecificfilenameorder(thedescriptionsarenotalphabetizedwithintheCoachdialogbox.WordPerfectsortsthecoachesusingthelastthreecharactersofthefilenamethe"ABC"inthefileWPCH_ABC.WPM.WordPerfectsortsthefilesbasedonthelastthreecharactersinthefollowingsequence:o`Firstcharacter,(, -(- o`Thirdcharacter o`Secondcharacter NoticethatWordPerfectsortsthesecondcharacterofthethreecharactergroupinglast.Therefore,acoachnamedWPCH_AB1.WPMissortedbeforeWPCH_AA2.WPM.BuildingaCoachH Coachesdon'thavetobelargeorsophisticatedtobeuseful.Thesizeandcomplexityofacoachstemsmostlyfromthetaskthecoachisdesignedtoteach.AcoachthatdetailshowtoswitchthemodeofWordPerfect(Text,Graphics,Page)isboundtobemuchsimplerthanacoachthatcoversthemergefeature.Forthisdocument,we'llconcentrateoncreatingcoachesofmodestsize.Suchcoachesareeasiertoexplain,andtheyserveasexcellentspringboardsforwritingyourowncoaches.CoachesthatinteractwithdocumenttextareinherentlymoredifficulttowritethancoachesthatsimplyshowhowtoaccesssomefeatureofWordPerfect.WewillfirstshowyouhowtowriteacoachthatshowshowtoaccessaWordPerfectfeature,thenhowtowriteacoachthatmanipulatesdocumenttext.WritingtheBasicFeatureCoachq WordPerfectusesmultiplelevelsofmenus,commands,anddialogboxestoallowsuserstoaccessitsfeatures.Newusersmayhavedifficultyusingthesefeaturesiftheydon'tknowhowtogettothem.AbasiccoachisonethatshowswheretofindthecommandsandoptionsthatcontrolWordPerfect'sfeatures.Thecoachstartswiththeheader,shownbelow.Theheaderincludesablockthatprovidesthenameofthecoach,adescription,andtheauthorofthecoach.Arevisionhistory,ifany,follows.Nextisaseriesofvariableassignmentsandcallstouserdefinedfunctionsandprocedures(containedintheWPCHLIBR.WPMlibraryfile)thatsetupthecoachandprepareitforexecution.Thefollowingistheheaderforacoachthatallowsuserstoopenanewdocument(thissamplecoachaccompaniesthisdocument,andisnamedWPCH_XX1.WPM).Pleasenote:ThepurposeoftheWPCHLIBR.WPMfunctionsandproceduresisnotdetailedhere.EachfunctionandprocedurecontainedwithintheWPCHLIBR.WPMlibraryfileisdescribedinPart2ofthisdocument.//Header6
hX69"//*********************************************69"r"-(-
Xh////NAME:WPCH_XX1h//NameofCoach //PURPOSE:Opennewdocument//PurposeofCoach //AUTHOR:G.McCombh//AuthorofCoachk ////*********************************************//RevisionHistory////Error(Off!)`h//Turnofferrorchecking
//Makethefollowingvariablesglobalsotheycanbeused//intheWPCHLIBR.WPMlibraryfileGlobal(ScrnMode;MsgAdj;DefTitle;CancelMsg)Global(FakeBtns;HotElement;SaveScrn)DefTitle="MainTitleofCoach"h//Maintitlename)y Title="Coach"h//Supplementarytitleb ScrnMode=?ScreenHigh24h//HeightofscreenK CancelMsg=0`h//??4 Use("WPCHLIBR.WPM")h//Sharedlibraryfile ColorScheme()h//SetcolorschemeforCoaches ScreenSetup()h//SetupscreenforCoach MsgAdj=DlgMessage()h//Adjustmessageplacementq //*************************************************************Followingtheheaderisthemaincoachprogram.Themainprogramcallsroutinesinthebodyofthecoachmacro.Unliketheheader,abovewhichisfairlystandardacrossmostcoachesthemainprogramcandiffergreatlyfromonecoachtothenext.6
hX6h*//*********************************************6h**
Xh////MAINPROGRAM:Opennewdocument]&!% ////*********************************************Cancel(Off!)`//Inhibitcancelkeyfromstoppingmacro)h$( Call(WelcomeDlg)//CallWelcomeDlgroutine*:&* Call(OpenNewDoc)//CallOpenNewDocroutine+#'+ ERROR(On!)`//Turnonerrorchecking,(, ONERROR(NoMoreDocs)//Callthisiferroroccurs-(- FileNew`h//Attempttoopennewdocument Message(&tbox;1000)h//Ifattemptsuccessful,display `h//message#1000Result=MessageBox("Coach";&tbox;6)QuitCoach()`//QuitcoachT //*********************************************Theremainderofthecoachcontainstheroutinesspecifiedinthemainprogram.Thiscoachusestworoutinesandoneuserdefinedprocedure:o0`WelcomeDlgThiscalledroutinedisplaysa"Welcometothiscoach"dialog
box.Thisdialogboxbrieflyexplainsthepurposeofthecoach.
`(#`(# o0`OpenNewDocThiscalledroutineshowsusershowtoopenanewdocumentn usingtheNewcommandintheFilepulldownmenu.
`(#`(# o0`MessageThisuserdefinedprocedurereturnsspecifiedmessagetext.)y`(#`(# TheWelcomeDlgroutinedisplaysadialogboxthatintroducesthecoachtotheuser.TheWelcomeDlgroutinefirstcallsauserdefinedcoachprocedurecalledMessagethatisincludedlaterinthecoach.TheMessageprocedurecontainsthetextofnearlyallthemessagesdisplayedbythecoach.Themessagetextisgroupedinoneplacetomakeiteasiertomodifythecoachatalaterdate.TheWelcomeDlgroutinethencallsaWPCHLIBR.WPMlibraryfunction,Welcome.ThisfunctiondisplaysadialogboxwiththemessagepreviouslyretrievedbytheMessageprocedure.Tobeasuserfriendlyaspossible,acoachshouldallowuserstoquitandreturntotheWordPerfectdocument.TheWelcomedialogboxofferstwocontrolbuttons:ContinueandQuit.Iftheuserchoosestoquit,theWelcomefunctionreturnsavalueof1,andtheQuitCoachprocedure(containedinWPCHLIBR.WPM)iscalled.Otherwise,thecoachreturnstothemainprogram,whereitcontinueswiththenextstep.Note:thefollowingWelcomeDlgroutineisratherstandard.Youcanuseitasaspringboardforyourowncoaches.6
hX6a6//********************************6a66
Xh//Subroutine:Welcome//********************************Label(WelcomeDlg)Message(&tbox;10)h//Getmessage#10,(, Result=Welcome("Coach";&tbox)h//DisplayWelcomedialogbox-(- If(Result=1)`h//IfWelcomeboxcancelled QuitCoach()h//Quitcoach EndifReturn`h//Elsereturntomainprogramk //********************************FollowingistheOpenNewDocroutine,whichisthe"working"portionofthecoach.ItstepsusersthroughtheprocessofopeninganewdocumentusingtheNewcommandfromtheFilepulldownmenu.Followingisastepbystepexplanationofwhattheroutinedoes.6
hX6:1Label(OpenNewDoc)6:;
Xh6
hX6;2//*********************************************6;;
Xh6
hX6<3//6<
hX6N=4//SUBROUTINE:OpenNewDoc6N==W
Xh6
hX6->5//6->f>@
Xh6
hX6>6//PURPOSE:WalkuserthroughFileNewmenu6>#?)y
Xh6
hX6?7//6?@b
Xh6
hX6@8//*********************************************6@@K
Xh6
hX6A9Message(&tbox;100)6AA4
Xh6
hX6\B10hbox1={"Choose>r[BoldOn]?
File";6\BB
Xh6
hX6dC11P
}6dCC
Xh6
hX6ED12hbox2={"Choose>r[BoldOn]?
New";6ED~D
Xh6
hX6LE13P
}6LEE
Xh6
hX6-F14hbox3={1;6-FfFq
Xh6
hX6G15P
}6G9GZ
Xh6
hX6G16FileMenu(&valid)6GHC
Xh6
hX6H17allow={
310;X//newmenuoption6HH,|
Xh6
hX6I18P
}6IJe
Xh6
hX6J19exallow={0;
//Allowexecute6JJN
Xh6
hX6K20P
}6KL 7
Xh6
hX6L21accel={P
110;//(N)ew6LL!
Xh6
hX6M22P
}6MM"!
Xh6
hX6N23exaccel={0;
//Allowexecute6NN#"
Xh6
hX6O24P
}6OO$#
Xh6
hX6P25NoSubMenu(&subval;&subacl;&exsubacl;&subs)6PPt% $
Xh6
hX6Q26funkey={1;
//Nofunctionkey6QQ]&!%
Xh6
hX6R27P
}6RRF'"&
Xh6
hX6iS286iSS/(#'
Xh6
hX6%T29Repeat6%T^T)h$(
Xh6
hX6T30Result=PostIt(DefTitle;&tbox;38;10;0;2;0)6T,U*Q%)
Xh6
hX6U31MenuActive=06U)V*:&*
Xh6
hX6V32Show=HotSpot(0;0;62;0;543;&funkey;1)6VW+#'+
Xh6
hX6W33Switch(show)6WX,(,
Xh6
hX6X34CaseOf1:
//Showmenu6XX-(-
Xh6
hX6Y35P
sbox={"Choose>r[BoldOn]?
New";}6YY
Xh6
hX6Z36P
Result=PostIt(DefTitle;&tbox;38;10;0;3;0)6ZZ
Xh6
hX6[37P
ShowMenu("Coach";&sbox;34;1ScrnMode;0;0;0;0)6[[
Xh6
hX6\386\]k
Xh6
hX6]39CaseOf309://FilemenuId6]]T
Xh6
hX6^406^^=
Xh6
hX6E_41CaseOf543://Accelmenualtf6E_~_&
v
Xh6
hX6E`42P
PullDownDlg6E`~`_
Xh6
hX60a43P
Type("f")60aiaH
Xh6
hX6b446bRb1
Xh6
hX6b45CaseOf8085://Alt+=6bc
Xh6
hX6c46P
sbox={1;}6cd
Xh6
hX6d47P
Result=PostIt(DefTitle;&tbox;38;10;0;3;0)6dd
Xh6
hX6e48P
6ee
Xh6
hX6f49P
MenuActive=MenuBarControl("Coach";&hbox1;&sbox;34;6ffn
Xh6
hX6g50P
1ScrnMode;102;&funkey)6ggW
Xh6
hX6h516hh@
Xh6
hX6ni52DEFAULT:
//Default6nii)y
Xh6
hX6`j53P
sbox={1;}6`jjb
Xh6
hX6Jk546Jkk
Xh6
hX6k55P
MenuActive=MenuBarControl("Coach";&hbox1;&sbox;34;6kl4
Xh6
hX6l56P
1ScrnMode;102;&funkey)6l1m
Xh6
hX6m57EndSwitch
6m4n
Xh6
hX6n586no
Xh6
hX6o59If(MenuActive<>1)6oo
Xh6
hX6p60Result=MenuControl(&hbox1;&hbox2;&hbox3;&valid;6ppq
Xh6
hX6q61P
&allow;&exallow;&accel;&exaccel;&subval;6qqZ
Xh6
hX6r62P
&subacl;&exsubacl;&subs;&funkey)6rrC
Xh6
hX6s63P
MenuActive=Result6ss,|
Xh6
hX6t64P
If(Result=310orResult=110)6tte
Xh6
hX6u65P
CancelMenus()6uuN
Xh6
hX6}v66P
DisplayRewrite6}vv 7
Xh6
hX6ww67P
Endif6www!
Xh6
hX6hx68Endif6hxx"!
Xh6
hX6Ay69Until(MenuActive<>1)6Ayzy#"
Xh6
hX6 z70DlgInput(Off!)6 zYz$#
Xh6
hX6z71Return6z/{t% $
Xh6
hX6{72//*********************************************6{{]&!%
XhLine1marksthebeginningoftheOpenNewDocroutinewithaLabelcommand.Lines2through8describethefunctionoftheOpenNewDocroutine.Line9specifiesthemessagenumbertouseforthetboxvariable.Thisvariablecontainsthe,(, messageshowninthePostItmessagebox,describedinLine30.-(- Lines10through14definesthemessagetextforthehbox1,hbox2,andhbox3variables, usedinvarioustemporarymessagepopupsthatappearastheusernavigatesthroughmenus.o0`hbox1isusedtostorethemessageforpointingtothemenutouse.m`(#`(# o0`hbox2isusedtostorethemessageforpointingtoatoplevelcommandintheX menu.
`(#`(# o0`hbox3isusedtostorethemessageforpointingtoasubmenu(or"cascade",
| menu),ifany.Inthisexample,thereisnosubmenufortheNewcommand,sohbox3isdefinedas1.P`(#`(# Line16callsaWPCHLIBR.WPMcoachlibraryroutine,FileMenu,whichfillsthevalid
$
variablewithalltheIDnumbersofthecommandsintheFilemenu(validisanarray;each
elementofthevariablecontainsanIDnumberforonecommandintheFilemenu).Laterintheroutinethevalidvariableisusedtomakesuretheuserisbrowsingthroughtheproper
menu,lookingfortheNewcommand.(Aswithmanyroutinesusedincoaches,FileMenuusesthe?DialogControlsystemvariabletodeterminethecurrentlyactivecommandoroptioninamenuordialogbox.)Lines17and18specifythe?DialogControlIDfortheNewcommandintheFilemenu(inthiscase,310).ThisIDnumberisassignedtotheallowvariable,whichisusedinthe[ MenuControlcoachfunction,detailedinLines6062,below.Notethatallowisanarray.IfF necessary,youcanpermityourcoachtorecognizemorethanonemenucommandasanallowablechoice.Lines19and20specifythevalue(s)oftheexallowvariable.Thisvariablecorrespondstothe allowvariable(seelines1718,above)anddeterminesifthemenucommandisexecuted whentheuserchoosesit.Avalueof0meansthatyouwantto"block"theactualexecutionofthecommandwhentheuserchoosesthemenuitemindicatedintheallowvariable.Inthe[ caseofthesamplecoach,whentheuserchoosestheNewcommand,thecommandisnotcarriedout,becausethevalueofexallowis0(thetaskofopeninganewdocumentisleftfor/ alaterpartofthecoach).Notethatexallowisanarray.Besurethereisanequalnumberof j elementsintheallowandexallowvariables.!U Lines21and22specifythemnemonickeykeystrokeusedtoselectthecommandinthemenu,inthiscase108(NforNew).Asamatterofconvention,specifytheASCIIvalueforthelowercaseletter.Thisvalueisassignedtotheaccelvariable.Accelisanarray,soyou$# canspecifymultiplemnemonickeyvalues,ifdesired.Lines23and24specifythevalue(s)oftheexaccelvariable.Thisvariablecorrespondstotheh'"& accelvariable(seelines2122,above).Exaccelworksinthesamewasasexallow,describedS(#' inLines1920.Useavalueof0ifyoudon'twantWordPerfecttoexecutethecommandwhentheuserchoosesit;useavalueof1ifyoudowantWordPerfecttoexecutethecommand.Besurethereisanequalnumberofelementsintheallowandexallowvariables.+`&* Line25usestheNoSubMenuroutinefromtheWPCHLIBR.WPMlibraryfile.Itisusedwhenthecoachdoesnotneedtoallowaccesstosubmenus(cascademenus),andisaquick-)- waytosetallthesubmenurelatedvariablesto1(thesevariableincludesubvalandsubacl). Line26specifiesthefunctionkey(F#)equivalentforaccessingthemenucommand.TheNewcommanddoesnothaveadefaultfunctionkeyequivalent,sothevalueofthefunkeym variableisleftat1.Whenafunctionkeyequivalentisprovidedformenucommand,youinsertthenumericvalueofthekey.ThesevaluesareprovidedintheAppendix,andcanalsobedeterminedusingthe[###]macrothataccompaniesthisdocument.Notethatfunkeyisan*
z array;enteradditionalfunctionkeyvaluesifyouwanttoallowmultiplefunctionkeyaccessinyourcoach.Lines29startsaRepeatloopthatcontainstoline69.ThisloopisrepeateduntiltheuserselecttheNewcommand,orcancelsthecoach.Line30displaysa"PostIt"message,whichinstructstheuserwhattodonext:namely,choosetheNewcommandfromtheFilemenu.ThemessageiscreatedusingthePostItcoachroutine,whichdisplaysagenericmessagebox.ThePostItroutineisquiteflexible,inthatthemessageboxcaneitherbecompletelyinactive(itdisplaysthemessageonly),oritcancontainoneormorebuttonsforcontrollingtheactionofthecoach.Asusedintheexample,thePostItboxdisplaystwobuttons:ShowMeandQuit.TheQuitbuttonendsthecoach(theuserispromptedbeforethecoachends);theShowMenubuttonstepstheuserthroughthemenustolocatetheproperone(seelines34through37formoreinformation).AdditionalparametersofthePostItroutineallowyoutoplacethemessageataparticularspotonthescreen.Line31setstheMenuActivevariableto0.Thevalueofthisvariableischeckedlaterinthe Repeatloop.Line32specifiesone"hotspot"regiononthescreen,forthepurposeofopeningthemenusinthemenubar.Thisallowstheusertochoosethehotspottopickanitem,orpressanAlt+letterkeytodisplayamenu.Mostoften,thehotspotregionisdefinedastheentiremenubar(atleastuptothe"Help"menu).Forthesamplecoach,theAlt+letterkeytoopentheFilemenuisAlt+F,or543.Thehotspotroutinereturnsanyofanumberofdifferentvalues;thereturnvalueisplacedintheShowvariable.Showcontainsthevalueof1ifthe!( ShowMebutton(displayedbythePostItboxdefinedinLine30)ispressed.Showcontains"! avalueoflessthan0orgreaterthan1dependingonwhethertheuseropenedamenu,pressedanAlt+letterkey,orperformedsomeotheraction.Line33beginsaSwitchstatement(thestatementendsofLine57).TheSwitchstatementcheckstheShowvariableagainstanumberofpossiblevalues:R'"& o`1TheuserpressedtheShowMebutton.&)v$( o`309TheuseropenedtheFilemenu*H&* o`543TheuserpressedAlt+F.,(, -)- o8086TheuserpressAlt+=,toactivatethemenubar Lines35through37areexecutedwhenShowequals1(theShowMebuttonwaspressed). Thecoachassignsexplanatorytexttothesboxvariable,redisplaysthePostItbox,andcallsm theShowMenucoachroutine.TheShowMenuroutineanimatesthesequenceofchoosingthepropermenucommandinthiscaseopeningtheFilemenu,andhighlightingtheNewcommand.Lines42and43areexecutedwhentheuserpressesAlt+F.ThecoachrespondsbyopeningtheFilepulldownmenu.Lines46through50areexecutedwhentheuserpressestheAlt+=keys,toactivatethepulldownmenu.ThecoachredisplaysthePostItbox,andcallstheMenuBarControlcoachroutine.Thisroutineessentiallytakesovertheoperationofthemenubar,assuringtheuserselectsthepropermenu.Lines52through56definesthedefaultactioniftheSwitchstatementfallsthroughwithoutamatch.ThecoachcallstheMenuBarControlcoachroutinetoprovidecontrolovertheoperationofthemenubar.TheMenuBarControlcoachroutinereturnsavalueindicatingtheresultoftheuser'sactionswhileworkingwiththemenubar.ThisvalueisassignedtotheMenuActivevariable.Lines! 59through68areexecutediftheMenuActivevariabledoesnotequal1(MenuActive equals1whenevertheuserdoesnotchooseanappropriateactionwhenusingthemenubar).Lines60through62callstheMenuControlcoachroutine,whichallowstheusertointeractwiththepulldownmenus.TheMenuControlroutinestheworkhorseofmostanycoach,whereithelpstheuserlocateandproperlyselectthedesiredmenucommand.NotethattheMenuControlroutinereturnsavalue,storedinResult.4 Lines64through67areexecutedifchosetheNewcommandfromtheFilemenu.Line70turnsoffdialoginputcontrol(usingWordPerfect'sDlgInputcommand).Line71returnsfromtheOpenNewDocroutine.TheNoMoreDocsroutine,shownbelow,iscalledifWordPerfectcouldnotopenanewdocument.ThisroutineiscallediftheFileNewmacrocommandfails(usuallybecauseninedocumentsarealreadyopened).//********************************//Subroutine:NoMoreDocs//********************************//Thisroutinecalledifnewdocumentcan'tbeopenedLabel(NoMoreDocs)-(- ERROR(Off!)h//Turnerrorcontroloff Beep`h//Soundtone Message(&tbox;1010)h//Getanddisplaymessage#1010 Result=MessageBox("Coach";&tbox;6)QuitCoach()`//QuitcoachT ThelastroutineofthesamplecoachisauserdefinedprocedurecalledMessage.ThisprocedurecontainsasingleSwitchstatement.WithinthisSwitchstatementisoneormoremessagesfordisplayindialogboxesconstructedwiththeMessageBox,Welcome,andPostItcoachroutines.EachmessagefollowsaCaseOfcommand,andauniquemessagenumber,suchas10,100,1000,andsoforth.Themessageisassignedtoanarrayvariabletbox.Ifthemessage
islong,itcanbebrokenintoseparatelinesbyassigningeachlinetoaseparateelementofthearray.Blanklinesareinsertedusingemptyquotes.6
hX6N//*********************************************6N
Xh////PROCEDURE:Message6 ////*********************************************PROCEDUREMessage(&tbox;Msg)Switch(Msg)CaseOf10:`//MessageID#10E tbox={`"";.~ `">r[BoldOn]?
OpeningaNewDocument>[BoldOff]?
";0`"";
`(#`(# `"Thiscoachwillhelpyouopenanew,blank";`"document.";`"";}CaseOf100:`//MessageID#100v% $ tbox={`"Toopenanewdocument,";_&!% `"";`"Choose>r[BoldOn]?
File>[BoldOff]?
,";1(#' `"then>r[BoldOn]?
New>[BoldOff]?
.";`"";}CaseOf1000:`//MessageID#1000;newdocopenedsuccessfully,(, tbox={`"Anew,blankdocumentwasopened.";-(- `"";`"Thisconcludesthecoachonopeninganewdocument.";`"";}CaseOf1010:`//MessageID#1010;newdocnotopened= tbox={`"Anerroroccurredopeninganewdocument.";&
v `"";`"Possiblecausesforthiserrorinclude:";`"Nomoredocumentsavailable(9openalready)";1 `"Outofmemory";
`"";}DEFAULT:`//"Failsafe"messagen tbox={`"";W
`"Messagenotfound!";`"";}EndSwitchENDPROCWritingtheDocumentEditingCoach ManyfeaturesofWordPerfectinteractcloselywithtextinthedocument.Thesecoachesaremoredifficulttowrite,becausethecoachmacromustmonitorand/orcontrolwhattheusertypes,andwhere.Inaddition,it'snotunusualfordocumenteditingcoachestorelyheavilyononeormoreWordPerfectdialogboxes,wheretheusermakesaselectionandtypestextwithinadialogbox.ThefollowingdescribesoneofthecoachesthatcomeswithWordPerfect,WPCH_SR1.WPM.ThecoachguidesusersthroughusingthesearchandreplacefeatureofWordPerfect.Itisagoodexampleofacoachthatinteractswithdocumenttext,andguidesusersthroughaWordPerfectdialogbox.Asyouwillsee,thesearch/replacecoachusesmanyofthesametechniquesofthepreviouscoachsample.Thesearch/replacecoachusesaheader,amainprogram,a"WelcomeDlg"routine,aMessageprocedure,andmore.Becauseofthesimilaritybetweenthecoaches,we'llconcentrateonlyontheadditionalelementsfoundinthesearch/replaceexample.Thesearch/replacecoachcontainsthefollowinguniqueroutines:o`PosCursorallowstextediting-(- o`ReplaceSub1OpenandclearReplacedialogbox o0`SpecialHintDisplay"Hint"boxwhenuserasksforhelp`(#`(# o0`NotFoundErrorControlcoachifreplacefunctionendsinnotfoundT condition.
`(#`(# Youmayfindithelpfultousethecoachafewtimestogetusedtohowitworksandwhatitdoes.YoumayalsowishtomakeaprintoutoftheentireWPCH_SR1.WPMcoachfile,andrefertoitwhilereadingthisdocument.ThePosCursorRoutineCoachesthatrequireuserinteractionwiththedocumentusetheFakeItcoachprocedure,containedintheWPCHLIBR.WPMlibraryfile.FakeItdoesmanyimportantjobs,yetit'sveryeasytouse:o`Itdisplaysa"here'swhattodonext"dialogboxatthebottomofthescreen,b withexplanatorytextandoneormorecontrolbuttons.o`Itshrinksthedocumentscreentoawindow,sothattheuserisassuredthe cursorisnotblockedbytheFakeItdialogbox.TheFakeItprocedureisusedinthesearch/replacecoachwithinthePosCursorroutine,shownbelow.FakeItisusedwiththeDoEditcoachfunction,whichallowstheusertowriteandedittextinthedocumentscreen,butundercontrolledconditions.6
hX6//***********************************************6
Xh6
hX6//6
Xh6
hX6//Label:PosCursor6T
Xh6
hX6//6
Xh6
hX6f//*****************************************************6f
Xh6
hX67Label(PosCursor)67p
Xh6
hX6Message(&tbox;50)
X//GetMessage#506$#
Xh6
hX6FakeIt(DefTitle;&tbox;3;1;0)//DisplaysFakeItbox6(t% $
Xh6
hX6PosCharNextP
X6]&!%
Xh6
hX6PosCharPrevP
X//Movecursortodisplayitproperly6!F'"&
Xh6
hX6keypress={8154;}
//WatchforF7key6G/(#'
Xh6
hX6chkcode={1;}P
//Don'tworryaboutdeletingcodes6I)h$(
Xh6
hX6*Result=DoEdit(1;&chkcode;&keypress)//Allowtextediting6*c*Q%)
Xh6
hX6Return6U
Xh6
hX66
XhNotethatthetwoimportantroutinesinPosCursorareFakeItandDoEdit.TheFakeIt-(- procedurealtersthescreenanddisplaysthedialogbox;DoEditdoestheactualtexteditprocessing.Inalmostallcases,youwillusetheFakeItandDoEditroutinesintandem,asshownhere.NotethethreeparametersfortheDoEditfunction(aswithothercoachroutines,theseparametersaremorefullydescribedinPart2ofthisdocument).o`Thefirstparameterdeterminesifthecoachallowsmouseclicks.The_ parameterissetto1,sotheusercanclickthemousewithinthedocumentscreen.o`Thesecondparameterindicatesanycodesyoudon'twanttheusertodelete.
Thesearch/replacedialogboxisn'tconcernedwithdeleting,butthisisnotalwaysthecasewithcertaintypesofcoaches(forexample,onethatdescribesthemergefeature).o`Thethirdparameterindicatesthefunctionkeystheuserisallowstopressn whilewritingandeditingtext.Mostoften,thiskeyisthekeyusedtoterminatethePosCursorroutine,suchasF7(8154).TheReplaceSub1RoutineManycoachesopenanddisplayoneormoreWordPerfectdialogboxes.Quiteoften,itisnecessarytocontroltheusersactionwithinthedialogbox.TheReplaceSub1routineperformsthisjob.6
hX6//***********************************************6P
Xh6
hX6//LABEL:ReplaceSub16
Xh6
hX6//6
Xh6
hX6///PURPOSE:OpenandclearReplacedialog6/h
Xh6
hX6//6,
Xh6
hX6//****************************************************6
Xh6
hX6_Label(ReplaceSub1)6_
Xh6
hX6Message(&tbox;105)
//Getmessage#1056D"!
Xh6
hX6Result=PostIt("Coach";&tbox;10;1+(MsgAdjScrnMode);0;4;0)6G
Xh6
hX6//PostmessageexplaininghowtouseReplacedlg6&
Xh6
hX6PosCharNext6t% $
Xh6
hX6PosCharPrevious
//Thesecommandsdisplaycursor6]&!%
Xh6
hX66
Xh6
hX6Xh6
hX6While(?Dialog<>1)6L
Xh6
hX6Char(Key)6
Xh6
hX6If(?Mousey=(yposS1+ScrnMode))6
Xh6
hX6[P
//IfHintbuttonpressed6[
Xh6
hX6>If((?Mousex>=xposH1)and(?Mousex<=xposH2))6>w
Xh6
hX6+P
ShowCode(SaveScreen!)//Saveexistingdisplay6+d-(-
Xh6
hX6BP
SpecialHint()X(//CallSpecialHintroutine6B{
Xh6
hX6xP
ShowCode(RestoreScreen!)(//Restoreolddisplay6x
Xh6
hX6PosCharNext
//Displaycursor6
Xh6
hX6~Else6~
Xh6
hX6@P
//Ifusercancelscoach6@y
Xh6
hX6"If((?Mousex>=xposQ1)and(?Mousex<=xposQ2))6"[
Xh6
hX6P
CancelCoach()6H
Xh6
hX6P
Else6+
Xh6
hX6P
//IfuserpressesSearchbuttonorF2key6
Xh6
hX6P
If(?DialogControl=3543orKey=8159)6
Xh6
hX6P
Display(Off!)6
Xh6
hX6P
NotFound(On!)(//Handlenotfoundcondition6
Xh6
hX6P
OnNotFound(NotFoundError)6*
Xh6
hX6P
Endif6%
Xh6
hX6P
Type(ntoc(Key))6
Xh6
hX6P
Endif6
Xh6
hX6{Endif6{
Xh6
hX6>Else6>w
Xh6
hX6P
//IfuserpressesEsc6-
Xh6
hX6If(Key=8160)6
Xh6
hX6P
CancelCoach()6
Xh6
hX6xElse6x
Xh6
hX6:P
If(?DialogControl=3543orKey=8159)6:s
Xh6
hX6,P
Display(Off!)6,e
Xh6
hX6P
NotFound(On!)6H
Xh6
hX6P
OnNotFound(NotFoundError)6+
Xh6
hX6P
Endif6
Xh6
hX6P
Type(ntoc(Key))6
Xh6
hX6Endif6
Xh6
hX6LEndif6L
Xh6
hX6//IfuserpressesF1forhelp6<
Xh6
hX6If(key=8158)6
Xh6
hX6ShowCode(SaveScreen!)X//Saveolddisplay6!
Xh6
hX6SpecialHint()X(//CallSpecialHintroutine6"!
Xh6
hX6ShowCode(RestoreScreen!)//Restoreolddisplay6"#"
Xh6
hX6PosCharNext
//Displaycursor6.$#
Xh6
hX6Endif6(
Xh6
hX6EndWhile6
Xh6
hX6TDisplay(On!)6T
Xh6
hX6DisplayRewrite6?
Xh6
hX6Return6
Xh6
hX6Z6Z
Xh6
hX66-
XhThemainportionofthisroutineisaWhileloop,whichrepeatsuntiltheuserleavestheReplacedialogboxandreturnstothedocumentscreen.ByuseofaCharcommand,theloopwatchesforeverykeypressormouseclick.Ifthemouseisclickedinoneofthe"hot-(- spot"regions(theHintandQuitbuttons),thecoachrespondsbyeitherdisplayinga"Hint"box,orbyterminatingthecoach.WithintheWhileloopthecoachallowsuserstotypetextintothetwoentryboxes,aswellasactivateanyofthesixsearch/replaceoptionsintheReplacedialogbox.Duringthistime,thecoachchecksfortheuserpressingtheF2key,orchoosestheSearchbuttonintheReplacedialogbox.WhentheuserchoosestheSearchbuttonorpressesF2,thecoachspecifieswhatshouldhappenifanotfoundconditionoccurs(usingtheNotFoundandOnNotFoundmacrocommands).ItallowsWordPerfecttoprocessthesearch/replacefunctionnormally.Ifthesearch/replaceprocessendswithanotfoundcondition,thecoachcallstheNotFoundErrorroutine,describedbelow.Otherwise,thecoachdisplaysanendingmessage,thenterminates.TheSpecialHintRoutineTheWPCHLIBR.WPMcoachlibrarycontainsseveralbuiltinandeasytouseroutinesfordisplaying"hints,"extrapopupmessagesthatprovidehelpwhentheuserrequestsit.Thesearch/replacecoachusesitsownroutinefordisplayinga"dynamic"hintmessagebox.ThisroutineisprovidedinSpecialHint(seetheWPCH_SR1.WPMfileforthetexttothisroutine).YoucanusethisSpecialHintroutineinyourowncoachesifyouwanttoprovidehelpforanumberofdifferentoptions.TheSpecialHintdialogboxconsistsofsixCtrlOption!controls,andtwochangeableCtrlLabel!textcontrols.ClickononeoftheCtrlOption!controls,anditsmatchinghelptextisshown(thetextspansoneortwolines).NotethattheSpecialHintdialogboxiscontainedwithinaRepeat/Untilloop,andusestheDlgNoClear!dialogboxstyle.Inthisway,thedialogboxremainsonthescreenshowingthedesiredhelptextafteryoupressoneoftheCtrlOption!controls.TheRepeat/UntilloopcontinuesuntilyouchooseOKtoclosetheSpecialHintdialogbox.TheNotFoundErrorRoutineTheNotFoundErrorroutineshandlesthoseinstanceswhentheuserspecifiestextintheSearchForboxthatcannotbefoundinthedocument.Whenthisoccurs,WordPerfectgeneratesanotfoundcondition,andthecoachbranchestothisroutine.NotFoundErrorcontainsnumerousroutinesforresettingthestateofWordPerfect.Italsodisplaysexplanatorytextthatsaysthesearch/replacefunctionfailed,andsuggestsreasonswhyitdid.6
hX6
//*********************************************6
-(-
Xh6
hX6q//6q
Xh6
hX6
//LABELNotFoundError6
F
Xh6
hX6//6
Xh6
hX6x//*********************************************6x
Xh6
hX6ALABEL(NotFoundError)6Az
Xh6
hX6Display(On!)6(
Xh6
hX6CancelDialogs()P
//Closeanyopendialogboxes6&
v
Xh6
hX6DisplayRewriteP
//Clearscreen6_
Xh6
hX6xNotFoundCoach()
//CallNotFoundCoachlibraryroutine6xH
Xh6
hX6rMessage(&tbox;1007)
//Getmessage#10076r1
Xh6
hX6SResult=MessageBox("Coach";&tbox;6)//Displaymessage6S
Xh6
hX6AQuitCoach()P
//Quitcoach6Az
Xh6
hX67Return67p
Xhn Part2Reference WordPerfectcoachesarebasedheavilyonlibraryroutinesuserdefinedfunctionsandprocedurescontainedintheWPCHLIBR.WPMfile.ThissectiondetailsthecoachfunctionsandproceduresprovidedintheWPCHLIBR.WPMfile,includingtheirpurposeandtheparametersused,ifany.Forfunctions,thereferenceprovidesthevaluereturned(proceduresdonotreturnavalue).Theroutinesarelistedalphabeticallybytype(proceduresfirst,thenfunctions).Usethefollowingindextohelpyoufindtheroutineyouwant.Importantnote:Toassurethepagenumbersofthefunctionsandprocedureslistedintheindexareaccurate,generatethisdocumentbychoosingTools,Generate.IndextoProceduresandFunctionsn 8
p5p5S0ProceduresWPCHLIBR.WPM`".*(#(#21
p5So)y !!400`(#(#BlockEdit`".4
&`(#`(#21
!4Ob !!00`(#(#CancelCoach`".3(`(#`(#21
!5K !!00`(#(#CancelMenus`".U(`(#`(#22
!4 !!00`(#(#CancelDialogs`".*`(#`(#22
! !! 00`(#(#CheckColorSet`".*`(#`(#22
! !!!00`(#(#ColorScheme`".J(`(#`(#23
!!! !!"00`(#(#CommentsBox`".(`(#`(#23
!"" !!#00`(#(#EditMenu`".)
%`(#`(#23
!##q !!s$00`(#(#ExitDlgProc`".
(`(#`(#24
!s$$Z !![%00`(#(#ExitDocProc`".(`(#`(#
24
![%v%C !!C&00`(#(#ExitWPProc`".
'`(#`(#24
!C&^&,| !!*'00`(#(#FakeIt`".#`(#`(#24
!*'E'e !!
(00`(#(#FileMenu`".
%`(#`(#
25
!
(((N !!(00`(#(#FileSaveDlgProc`".`,`(#`(#26
!(
) 7 !!)00`(#(#FontMenu`".J
%`(#`(#26
!))! !!*00`(#(#GraphicsMenu`".)`(#`(#26
!**"! !!+00`(#(#HelpMenu`".`
%`(#`(#26
!++#" !!,00`(#(#LayoutMenu`".'`(#`(#27
!,,$# !!x-00`(#(#MenuBar`".$`(#`(#27
!x--t% $ !!\.00`(#(#MenuPop`".
$`(#`(#27
!\.w.]&!% !!@/00`(#(#NoSubMenu`".&`(#`(#28
!@/[/F'"& !!&000`(#(#NotFoundCoach`".2*`(#`(#28
!&0A0/(#' !!100`(#(#PleaseWait`".
'`(#`(#28
!1+1)h$( !!100`(#(#QuitCoach`".k
&`(#`(#29
!12*Q%) !!200`(#(#ReplaceProc`".
(`(#`(#29
!22*:&* !!300`(#(#RestoreStates`".K*`(#`(#29
!33+#'+ !!400`(#(#SavingDoc`".
&`(#`(#29
!44,(, !!500`(#(#ScreenSetup`".
(`(#`(#30
!55-(- !!}600`(#(#SetBoxSize`".
'`(#`(#30
!}66 !!d700`(#(#ShowMenu`".
%`(#`(#30
!d77 !!I800`(#(#ToolsMenu`".
&`(#`(#31
!I8d8 !!/900`(#(#ViewMenu`".
%`(#`(# 32
!/9J9k !!:00`(#(#WindowMenu`".'`(#`(#!32
!:/:T p5p5:0ProceduresWPCHLBTB.WPM`".*(#(#" 33
p5:;&
v !!;00`(#(#ExitTableEdit`".l*`(#`(## 33
!;;_ !!<00`(#(#TableEditControl`".-`(#`(#$ 33
!<
!==1 !!>00`(#(#EditTable`".
&`(#`(#&!34
!>>
!!?00`(#(#TblColEdit`".
'`(#`(#'!34
!??
[email protected]`".!)(#(#("35
p5k@@
!!KA00`(#(#ButtonControl`".+`(#`(#)"35
!KAfAn !!6B00`(#(#CodeFilter`".a
'`(#`(#*#36
!6BQBW
!!C00`(#(#DlgFilter`".&`(#`(#+$37
!C8C@ !!D00`(#(#DlgMessage`".
'`(#`(#,$37
!DD)y !!D00`(#(#DoEdit`".J#`(#`(#-%38
!DEb !!E00`(#(#Filter`".#`(#`(#.%38
!EEK !!F00`(#(#Hint`".l!`(#`(#/&39
!FF4 !!G00`(#(#HotSpot`".$`(#`(#0&39
!GG !!uH00`(#(#InvalidControl`".,`(#`(#1'40
!uHH !!aI00`(#(#KeyFilter`".
&`(#`(#2)42
!aI|I !!GJ00`(#(#LstBxControl`".*`(#`(#3)42
!GJbJ !!1K00`(#(#MenuBarControl`".`+`(#`(#4+44
!1KLKq !!L00`(#(#MenuControl`".)`(#`(#5,45
!L7LZ !!M00`(#(#MessageBox`".'`(#`(#6-46
!M MC !!M00`(#(#NoBlock`".$`(#`(#7.47
!MN,| !!N00`(#(#NoSelect`".%`(#`(#8.47
!NNe !!O00`(#(#OpenDocument`".)`(#`(#9/48
!OON !!P00`(#(#Overview`".
%`(#`(#:/48
!PP 7 !!Q00`(#(#PostIt`".#`(#`(#;049
!QQ! !!fR00`(#(#Welcome`".
$`(#`(#<150
!fRR"! !!JS00`(#(#WinEdControl`".*`(#`(#=251
!JSeS#" !!4T00`(#(#XYFilter`".%`(#`(#>352
!4TOT$# p5p5U0FunctionsWPCHLBTB.WPM`".X)(#(#?554
p5U5U]&!% !!U00`(#(#TableBlockEdit`".+`(#`(#@554
!UVF'"& !!V00`(#(#PostANote`".v
&`(#`(#A554
!VV/(#' 8
8
G8
8
p5p5X0ProceduresWPCHLIBR.WPM`".*(#(#17p5Xt)y !!00`(#(#BlockEdit`".4
&`(#`(#17!5b !!00`(#(#CancelCoach`".3(`(#`(#17!K !!00`(#(#CancelMenus`".U(`(#`(#17!4 !!s00`(#(#CancelDialogs`".*`(#`(#18!s !!> 00`(#(#CheckColorSet`".*`(#`(#18!> Y !!!00`(#(#ColorScheme`".J(`(#`(#18!!$! !!!00`(#(#CommentsBox`".(`(#`(#18!!! !!"00`(#(#EditMenu`".)
%`(#`(#19!""q !!a#00`(#(#ExitDlgProc`".
(`(#`(#19!a#|#Z !!*$00`(#(#ExitDocProc`".(`(#`(#19!*$E$C !!$00`(#(#ExitWPProc`".
'`(#`(#20!$%,| !!%00`(#(#FakeIt`".#`(#`(#20!%%e !!&00`(#(#FileMenu`".
%`(#`(#20!&&N !!E'00`(#(#FileSaveDlgProc`".`,`(#`(#21!E'`' 7 !!(00`(#(#FontMenu`".J
%`(#`(#21!(-(! !!(00`(#(#GraphicsMenu`".)`(#`(#21!(("! !!)00`(#(#HelpMenu`".`
%`(#`(#21!))#" !!h*00`(#(#LayoutMenu`".'`(#`(#22!h**$# !!0+00`(#(#MenuBar`".$`(#`(#22!0+K+t% $ !!+00`(#(#MenuPop`".
$`(#`(#22!+,]&!% !!,00`(#(#NoSubMenu`".&`(#`(#22!,,F'"& !!-00`(#(#NotFoundCoach`".2*`(#`(#23!--/(#' !!L.00`(#(#PleaseWait`".
'`(#`(#23!L.g.)h$( !!/00`(#(#QuitCoach`".k
&`(#`(#23!///*Q%) !!/00`(#(#ReplaceProc`".
(`(#`(#24!//*:&* !!000`(#(#RestoreStates`".K*`(#`(#24!00+#'+ !!o100`(#(#SavingDoc`".
&`(#`(#24!o11,(, !!6200`(#(#ScreenSetup`".
(`(#`(#24!62Q2-(- !!200`(#(#SetBoxSize`".
'`(#`(#24!23 !!300`(#(#ShowMenu`".
%`(#`(#25!33 !!400`(#(#ToolsMenu`".
&`(#`(#25!44 !!T500`(#(#ViewMenu`".
%`(#`(#26!T5o5k !!600`(#(#WindowMenu`".'`(#`(#26!656T p5p560ProceduresWPCHLBTB.WPM`".*(#(#27p566&
v !!700`(#(#ExitTableEdit`".l*`(#`(#27!77_ !!o800`(#(#TableEditControl`".-`(#`(#27!o88H !!=900`(#(#TableEditCtrl2`".+`(#`(#27!=9X91 !!:00`(#(#EditTable`".
&`(#`(#28!:$:
!!:00`(#(#TblColEdit`".
'`(#`(#28!::
p5p5;0FunctionsWPCHLIBR.WPM`".!)(#(#29p5;;
!!Y<00`(#(#ButtonControl`".+`(#`(#29!Y
!!=00`(#(#DlgFilter`".&`(#`(#30!=>@ !!>00`(#(#DlgMessage`".
'`(#`(#31!>>)y !!|?00`(#(#DoEdit`".J#`(#`(#31!|??b !!@@00`(#(#Filter`".#`(#`(#32!@@[@K !!A00`(#(#Hint`".l!`(#`(#32!AA4 !!A00`(#(#HotSpot`".$`(#`(#33!AA !!B00`(#(#InvalidControl`".,`(#`(#33!BB !!XC00`(#(#KeyFilter`".
&`(#`(#35!XCsC !!D00`(#(#LstBxControl`".*`(#`(#35!D:D !!D00`(#(#MenuBarControl`".`+`(#`(#36!DEq !!E00`(#(#MenuControl`".)`(#`(#37!EEZ !!F00`(#(#MessageBox`".'`(#`(#38!FFC !!HG00`(#(#NoBlock`".$`(#`(#39!HGcG,| !!
H00`(#(#NoSelect`".%`(#`(#39!
H(He !!H00`(#(#OpenDocument`".)`(#`(#40!HHN !!I00`(#(#Overview`".
%`(#`(#40!II 7 !!cJ00`(#(#PostIt`".#`(#`(#40!cJ~J! !!'K00`(#(#Welcome`".
$`(#`(#41!'KBK"! !!K00`(#(#WinEdControl`".*`(#`(#42!KL#" !!L00`(#(#XYFilter`".%`(#`(#43!LL$# p5p5}M0FunctionsWPCHLBTB.WPM`".X)(#(#44p5}MM]&!% !!>N00`(#(#TableBlockEdit`".+`(#`(#44!>NYNF'"& !!
O00`(#(#PostANote`".v
&`(#`(#44!
O%O/(#' L8
*Q%) @H
ProceduresWPCHLIBR.WPM >'
6xd6>6
BlockEdit ycl n7Type:`Procedure> Syntax:`
BlockEdit(Title;EnableBlk;EnableMouse;&DefMsg;Helps)n7m8 33Purpose:0`Allowstheusertoblocktextinthedocument.Whilethisprocedureisactive,2
userscanusethesearchfeature,chooseblockfromthemenu,usethemousetoblockanddrag,pressAlt+F4toturnblockonandusethearrowkeystofindtheendoftheselection.3
`(#`(# II|Parameters:0I|7
(#(# Title`Titletoappear,usually"Coach"1 EnableBlk0hSelectmodenotallowed `1hSelectmodeallowed EnableMouse0hMouseclicksnotallowedn `1hMouseclicksallowedW &DefMsghMessagetoappear)y Helps0`0`(#`(#HelppromptscanappearthatgivetheuserguidanceinblockingtheK text.Itgivesappropriateinfowhethertheuserisusingthemouseorkeystrokestoblock.
(#(# `0hDonotallowhelpprompts `1hAllowhelpprompts! >'
6xd6>&e!$
?CancelCoach ?K&!% n7Type:`Procedurem(#' Syntax:`
!
CancelCoach()n76mg*%) 33Purpose:0`Askstheuseriftheywanttocancelthecoach.Iftheydo,itgoesontoa,'+ QuitCoach(),whichcancelsalldialogsandmenus,returningtheusertother-(, Documentscreen,andrestoringscreenstates(RestoreStates())thatwereineffectwhenthecoachwasstarted.ThiscommandiscalledwhentheuserpressesEscapeinmayWPCHLIBR.WPMfunctionsandprocedures.3
`(#`(# IIParameters:0NoneI2T(#(# >'
6xd6>7
CancelMenus 2m n7Type:`Procedure
Syntax:`
"
CancelMenus()n7m
33hPurpose:0`Cancelsallactivemenus.3h`(#`(# IIParameters:0NoneI6}(#(# >'
6xd6>`
CancelDialogs 6 n7Type:`Procedure Syntax:`
#
CancelDialogs()n7m 33pPurpose:0`Cancelsallactivedialogs.3p`(#`(# II"Parameters:0NoneI"@(#(# >'
6xd6>!
CheckColorSet @*! n7Type:`Procedure#1" Syntax:`
$
CheckColorSet()n7m%+!$ 33zPurpose:0`Checksifcomputerisingraphicsortextmode.SetsglobalvariableColorSet'%#& to1ifintextmodeor0ifingraphicsmode.UsedprimarilywithintheWPCHLIBR.WPMlibraryfile.3z
`(#`(# IIParameters:0NoneI+&*(#(# -(, >'
6xd6>
ColorScheme 6 n7Type:`ProcedureX Syntax:`
%
ColorScheme()n7ymR 337Purpose:0`Setsthecolorschemeto[WPCoach].37U
L`(#`(# IIParameters:0NoneIF(#(# >'
6xd6>
CommentsBox H n7Type:`Procedurej Syntax:`
&
CommentsBox(&cmnt;xpos;ypos;width;height;Style)n7md 33jPurpose:0`Postsmessagesanywhereonthedocumentscreen.Noeditingcontrolis^ provided.Nopushbuttonsareavailable.Thisprocedurewillpostthemessageandreturncontrolbacktothemacro.ThiscommandisprimarilyusedbytheWPCHLIBR.WPMlibraryfile.3j
`(#`(# IIParameters:0I)(#(# &cmnthArraymessage
Xpos`hHorizontalposition Ypos`hVerticalposition Width`hWidthofboxx HeighthHeightofboxa! Style`0hUseXposandYposparametersJ" `1hCentered3#! >'
6xd6>%>!$
kEditMenu k$&t!% n7Type:`ProcedureF(#' Syntax:`
'
EditMenu(&valid)n7_m@*%) 33 Purpose:0`SetsthevalidmenuIDsfortheEditmenu.3 >:,'+`(#`(# K-(, IIParameters:0I(#(# valid0`ArrayofallDialogControlIDsfoundontheEditMenu.`(#`(# >'
6xd6>e
ExitDlgProc p n7Type:`Procedure
Syntax:`
(
ExitDlgProc()n7m
33Purpose:0`HelpstheuserwiththeExitDialogBox.3`(#`(# II{Parameters:0NoneI{(#(# >'
6xd6>
ExitDocProc n7Type:`Procedure6 Syntax:`
)
ExitDocProc()n7m0 33Purpose:0`Helpstheuserexitadocument.3*`(#`(# IIParameters:0NoneI$(#(# >'
6xd6
>
$ExitWPProc $= n7Type:`Procedure"_ Syntax:`
*
ExitWPProc()n7m$Y" 33Purpose:0`HelpstheuserexitWordPerfect.3&S!$`(#`(# IIParameters:0NoneI'M#&(#(# >'
6xd6>*0&)
-FakeIt -+f&* Type:`Procedure8-(, Syntax:`
+
FakeIt(Title;&tbox;Buttons;Frame;Steps)n7m 33Purpose:0`Postsmessagesatbottomofthedocumentscreen.Thedocumentscreenis framedandsizedaccordingtothesizeoftheFAKEITmessage.Noeditingcontrolisprovided.Thisprocedurewillpostthemessageandreturncontrolbacktothemacro.FollowthiscommandwithanothersuchasDoEditorBlockEdittoallowtheusertoperformatask.3
`(#`(# IIParameters:0IH(#(# Title0`0`(#`(#ThetitleatthetopoftheFAKEITmessagebox,usually"Coach"B
(#(# &tbox`Messagearrayd 0Buttons0hNoButtons6
(#(# 0`1hContinue(w/default)(#(# 0`2hContinue(w/StyGray!)(#(# 0`3hContinue...F7(w/odefault)Quit...Esc(#(# 0`4hShowMe...Ctrl+SContinue...F7Quit...Esc(#(# 0`5hHint...F1Continue...F7Quit...Escs(#(# 0`60h(#(#Hint...F1Quit...Esc\h(#h(# 0`70h(#(#ShowMe...Ctrl+SQuit...EscEh(#h(# 0`8hQuit...Esc.~(#(# 0
(#(# 0Frame`0hNoDisplayRewriteandWindowSizeP(#(# 0`1hCauseaDisplayRewriteandWindowSizetooccur9`(#`(# 0Steps`0hDonotshowsteps(#(# 0`1hShowSteps(#(# >'
6xd6>_!
FileMenu !! n7Type:`Procedure#" Syntax:`
,
FileMenu(&valid)n7m%!$ 33WPurpose:0`SetsthevalidmenuIDsfortheFilemenu.3Wu'"&`(#`(# IIParameters:0I6)$((#(# &valid0ArrayofallDialogControlIDsfoundontheFileMenu+&*(#(# q-(, >'
6xd6
>
;FileSaveDlgProc ;6 n7Type:`ProcedureX Syntax:`FileSaveDlgProc()n76mR 33Purpose:0`Helpstheusersaveafile.3
L`(#`(# IIParameters:0NoneIF(#(# >'
6xd6>)
Syntax:`
-
FontMenu(&valid)n70m+{ 33Purpose:0`SetsthevalidmenuIDsfortheFontmenu.3%u`(#`(# IIParameters:0Io(#(# &valid0ArrayofallDialogControlIDsfoundontheFontMenui(#(# >'
6xd6>$
GraphicsMenu L6
Z n7Type:`Procedure,| Syntax:`
.
GraphicsMenu(&valid)n7m&!v 33Purpose:0`SetsthevalidmenuIDsfortheGraphicsmenu.3 #p!`(#`(# IIOParameters:0IOm%j #(#(# &valid0ArrayofallDialogControlIDsfoundontheGraphicsMenu'd"%(#(# >'
6xd6>)%(
nHelpMenu n*U%) n7Type:`Procedure',w'+ 8-(, Syntax:`
/
HelpMenu(&valid)n7bm 337Purpose:0`SetsthevalidmenuIDsfortheHelpmenu.37U`(#`(# IIParameters:0I(#(# &valid0ArrayofallDialogControlIDsfoundontheHelpMenu
(#(# >'
6xd6>Y
LayoutMenu |
n7Type:`Procedure Syntax:`
0
LayoutMenu(&valid)n7m 33Purpose:0`SetsthevalidmenuIDsfortheLayoutmenu.3`(#`(# IIParameters:0I(#(# &valid0ArrayofallDialogControlIDsfoundontheLayoutMenu(#(# >'
6xd6>T
MenuBar + n7Type:`Procedure Syntax:`
1
MenuBar(&bar)n7m 33]Purpose:0`ReturnsthevalidIDsonthemenubar.3]{ `(#`(# IIParameters:0I8" (#(# &bar`ArrayofallDialogControlIDsonthemenubar$" >'
6xd6>O'"%
"MenuPop "'"& n7Type:`Procedure)$( Syntax:`
2
MenuPop(&pop)n7m+&* 33Purpose:0`ReturnsthevalidIDnumbersforallsubmenus.3-(,`(#`(# IIParameters:0I(#(# &pop`ArrayofallDialogControlIDsthatbelongtosubmenusx >'
6xd6>e
NoSubMenu 3 n7Type:`Procedure
Syntax:`
3
NoSubMenu(&subval;&subacl;&exsubacl;&subs)n7m
33Purpose:0`Quickwaytosetsubmenuvaluesto1.Usetosetsubaccel,subval,subs,and exsubaclforMenuControl.3
`(#`(# IIParameters:0I
(#(# &subval0Submenuitemtoallowtoexecute(#(# &subacl0Submenuacceleratorstoallowtoexecutew(#(# &exsubaclExecutebitsforSubmenuaccelerators` &subs`MainmenuIDswhichpopoutasubmenuI >'
6xd6>=
NotFoundCoach `J#s n7Type:`ProcedureE Syntax:`
4
NotFoundCoach()n7m? 33Purpose:0`UsedwhenaNotFoundconditionoccurs39!`(#`(# IIWParameters:0NoneIWu3#!(#(# >'
6xd6>&f!$
PleaseWait u_L&!% n7Type:`Proceduren(#' Syntax:`
5
PleaseWait()n7mh*%) 33Purpose:0`DisplaysaPleaseWait...message.3b,'+`(#`(# s-(, IIvParameters:0NoneIv(#(# >'
6xd6>
QuitCoach ~ n7Type:`Procedure; Syntax:`
6
QuitCoach()n7
m5 33Purpose:0`Quitsthecoachwithoutaskingpermission.Alsoresetsscreensetupfrom
/
variablesassignedwiththeSetupScreen()procedure.3
`(#`(# IIParameters:0NoneI
(#(# >'
6xd6>
ReplaceProc + n7Type:`ProcedureM Syntax:`
7
ReplaceProc()n7}mG 33;Purpose:0`Helpstheusersaveandreplaceadocument3;YA`(#`(# IIParameters:0NoneI;(#(# >'
6xd6>
RestoreStates T n7Type:`Procedure&!v Syntax:`
8
RestoreStates()n7m #p! 33TPurpose:0`RestoresButtonBar,Ribbon,orOutlineBariftheywereonwhenthecoach%j # began.3Tr
`(#`(# IIJParameters:0NoneIJh'M#&(#(# >'
6xd6>+'*
SavingDoc iS+O'+ -`(, n7Type:`Procedure Syntax:`
9
SavingDoc()n7m 33Purpose:0`Helpstheusersaveadocument.3`(#`(# IIeParameters:0NoneIe
(#(# >'
6xd6>
ScreenSetup m
n7Type:`Procedure) Syntax:`
:
ScreenSetup()n7m#
33Purpose:0`TurnsofftheButtonBar,rulerbar,outlinebar,andsetsabitiftheywereon. UseRestoreStates()toturnthembackonatendofthecoach.Alsochecksforscreenmode,andamessagetellstheuseriftheyareinansupportedmode,andendsthecoach.3
`(#`(# II^Parameters:0NoneI^|(#(# >'
6xd6>e
SetBoxSize |f n7Type:`Procedure
Syntax:`
;
SetBoxSize()n7m 33Purpose:0`DeterminestheXandYvaluesforadialogbox,givenanarraymessage,tbox.! Thesevalues,WandH,canbeusedforthewidthandheightparametersfordialogboxes.Tbox,w,andhmustbesetasglobalvariablesinordertousethisprocedure.3
`(#`(# IIKParameters:0NoneIKif&!$(#(# >'
6xd6>I)$'
ShowMenu iS)$( n7Type:`Procedure+&* Syntax:`
<
ShowMenu(&sbox;Xpos;Ypos;Mnu;Opt;Pop;Execute)n7m-(, 33Purpose:0`Animatestheselectionofmenucommands.Usedtoshowtheuserhowtofind aparticularcommandinamenu.3
`(#`(# IIParameters:0I(#(# &sboxArraymessagetoappear `1ifnomessageisrequiredXpos`HorizontalPositionofmessage_ `1ifnomessageisrequiredYpos`VerticalPositionofmessage1
`1ifnomessageisrequiredMnu`Menunumberfrom1to9S
`File=1`Edit=2`View=3`Layout=4`Tools=5`Font=6`Graphics=7`Windows=8`Help=9Opt`OptionnumberfromthetopV `0Thefirstitemonthemenuisa1.Countdowntotheitemyouneedandspecifyitsnumber.((#(# Pop`0Itemisnotlocatedonapopoutmenu `1Itemlocatedonapopoutmenu Execute0Donotallowexecutee `1AllowexecutemenusofmenuitemsN `2Executesitemautomaticallyp7! >'
6xd6>#Y!
ToolsMenu ;%?#" n7Type:`Procedurea% $ Syntax:`
=
ToolsMenu(&valid)n7m['"& 33s
Purpose:0`SetsthevalidmenuIDsfortheToolsmenu.3s
U)$(`(#`(# II5Parameters:0I5SO+&*(#(# &valid0ArrayofallDialogControlIDsfoundontheToolsMenuI-(,(#(# >'
6xd6>
QViewMenu Q n7Type:`ProcedureA Syntax:`
>
ViewMenu(&valid)n7Em; 33Purpose:0`SetsthevalidmenuIDsfortheViewmenu.3$5`(#`(# IIParameters:0I
/
(#(# &valid0ArrayofallDialogControlIDsfoundontheViewMenu)(#(# >'
6xd6 >
WindowMenu aK n7Type:`Procedure< Syntax:`
?
WindowMenu(&valid)n7m6 33Purpose:0`SetsthevalidmenuIDsfortheWindowmenu.30`(#`(# II^Parameters:0I^|*(#(# &valid0ArrayofallDialogControlIDsfoundontheWindowMenu$(#(# @cH
ProceduresWPCHLBTB.WPM >'
6xd6!>M
ExitTableEdit jT3 n7Type:`ProcedureU Syntax:`
@
ExitTableEdit()n7mO
33Purpose:0`HelpstheuserthroughexitingTableEditMode.IfnotinTableEditModeI whenthisprocedureisinvoked,thiscommandisignored.3
`(#`(# IIParameters:0NoneI,|
(#(# >'
6xd6">&v
hTableEditControl h\ n7Type:`Procedure~ Syntax:`
A
TableEditControl(X1;Y1;X2;Y2;AlphaKey;&tbox;&keyequiv)n7dmx 33KPurpose:0`AllowseditingcapabilityinthetablewhileinTableEditMode.Breaksoutr whenthehotspotregionisclickedonorthekeypassedin&keyequivhasbeenentered.Postsamessageinthecenterofthescreen.3Ki
`(#`(# IIParameters:0I>(#(# X1`Upperleftcornerofhotspot8 Y1`Lowerleftcornerofhotspot!q X2`Upperrightcornerofhotspot
Z Y2`LowerrightcornerofhotspotC AlphakeyThevalidmnemonickeyforusertopress(i.e.101fore)! &tbox`Themessagethatshouldappear(i.e.ChooseCell.)#! &keyequivarrayofvaluesofkeystoallowi% # `Example:8154=F7 >'
6xd6#>
)]$'
-!TableEditCtrl2 -!!!C)$( n7Type:`Proceduree+&* Syntax:`
B
TableEditCtrl2(X1;Y1;X2;Y2;Xpos;Ypos;&tbox;&keyequiv)n7'"m_-(, 33
#Purpose:0`AllowseditingcapabilityinthetablewhileinTableEditMode.Breaksout whenthehotspotregionisclickedonorthekeypassedinkeyequivhasbeenentered.Postsamessageinaspecifiedlocation.3
#+#
`(#`(# II{$Parameters:0I{$$|(#(# X1`Upperleftcornerofhotspotv
Y1`Lowerleftcornerofhotspot_ X2`UpperrightcornerofhotspotH Y2`Lowerrightcornerofhotspot1
Xpos`xpositionofmessageboxS
Ypos`ypositionofmessagebox< &tbox`Themessagethatshouldappear(i.e.ChooseCell.)
&keyequivarrayofvaluesofkeystoallow `Example:8154=F7 >'
6xd6$>4
&(EditTable &(((j n7Type:`Procedure Syntax:`
C
EditTable()n7)m 33)Purpose:0`HelpsthegetintoTableEditMode.IfalreadyinTableEditModewhenthis procedureisinvoked,thiscommandisignored.3))
`(#`(# II*Parameters:0NoneI*+c (#(# >'
6xd6%>]"
+TblColEdit +,+"! n7Type:`Procedure$ # Syntax:`
D
TblColEdit()n7,m&!% 33F-Purpose:0`UsedbyEditTable()proceduretohelpusergetintoTableEditMode.3F-d-(#'`(#`(# II#.Parameters:0NoneI#.A.*%)(#(# -(, @H
FunctionsWPCHLIBR.WPM. >'
6xd6&>6
2/ButtonControl 2///l h]Type:`Function> Syntax:0`
E
ButtonControl(&info;&x1;&x2;&y1;&y2;&hotkey;&hotpnt;&accel;8 &aclpnt;&tbox;&helpmsg)h],0m
`(#`(# 33Z1Purpose:0`Usedtocontrolbuttonsandlineitemsinadialogbox.3Z1x1k
`(#`(# II(2Parameters:0I(2F2e(#(# The&infoarraycontains10parameters:_
`1ControlIDTheIDofthecurrentcontrolJ `2DialogID(canuse?Dialog)3 `Always0`3AllowUp/DownArrows `1=yes0=no`4TitleforPostItMessage `5XposforPostItp `99=Center`6YposforPostItB `99=Center`7PostItMessageTyped `1=Continue,Quitw/default`2=ShowMew/default`3=ShowMew/gray`4=Hint`5=ShowMeHintQuit`6=Quit`8Titleof&helpmsg,usually"Coach"\#! `90RestoreScreenE$"(#(# `1=yes0=no`10Reserved&g!$ `01=positionscursortofixabugwherecursorjumpstoupperleftcorner.
(#(# &x1`Arraysforhotspots)%( &x2&y1&y2_-(, &hotkey0keyequivalentforeachhotspotitemdefinedwiththex1,x2,y1,andx2 parameters
(#(# &hotpnt0restorescreenforcurrenthotspottoclearthecurrentcoachdialog.k(#(# `0=donotrepaint`1=repaint`2=waits2secondsfordoubleclick`Thisparametermusthaveoneelementforeachdefinedhotspotelement.&accelthekeysyouwanttoallowtheusertopress1 &aclpnt0restorescreenforcurrentacceleratortoclearthecurrentcoachdialog.
(#(# `0=donotrepaint`1=repaint`Thisparametermusthaveoneelementforeachdefinedaccelelement.&tbox`messagetoappearinmainmessagebox@ &helpmsghelpmessageappearsifuserfloundersb &hbox0Hintmessageifneededrequiresthefollowingplacedjustafterthe WHILEcommand,orifyouneedadifferenthintforeachcontrol,withintheCaseOfforthecontrolsrequiringthehint.
(#(# `If(Result="Hint")`hbox={"HintMessage"}`Hint=(MessageBox("HINT";&hbox;1)`Endif >'
6xd6'>N
@CodeFilter @EA/A4 h]Type:`FunctionV"! Syntax:0`CodeFilter(&array;Code)h]AmP$#`(#`(# 33BPurpose:0`Comparesacodevalueagainstanarrayofpredefinedcodevalues.UsedbyJ&!% theDoEditfunctiontofilterforspecificcodes.3BB
`(#`(# IICParameters:0ICC-)}$((#(# &arrayarrayofcodevaluestocheckfor'+w&* Code`currentcode'svalue,`'+
,I(, ``EReturnValues:0`E2E(#(#
0`Nocodevaluesmatch >0`Numberofarrayelementofmatchingcode >'
6xd6(>N
VF
F
DlgFilter VFFF
h]Type:`Function Syntax:0`
I
DlgFilter(&array;&brk)h]XGm`(#`(# 333HPurpose:0`ComparesDialogControlIDsagainstallowableDialogControlIDsand
executablebitsforeachControlID.33HQH
`(#`(# II?IParameters:0I?I]I}(#(# &arrayhArrayaddressofitemstocheckw &brk`ArrayaddressofexecutionbitsI ``JReturnValues:0`JJk(#(# `0Novaliditemfounde `1AvaliditemwasfoundN `2Avaliditemwasfoundplusanexecutionbitwasalsofound7 >'
6xd6)>
jLDlgMessage jLLL( h]Type:`Function!J Syntax:0`DlgMessage()h]`Mm#D"`(#`(# 33$NPurpose:0`Determinestheoffsetforcoachdialogsthatareusedinconjunctionwiththe%>!$ systemdialogstoassureproperscreenregistration.3$NBN
`(#`(# IIIOParameters:0NoneIIOgO(!$'(#(# ``OReturnValues:0`OP*&)(#(# `024linescreenmodeiscurrentlyset,(+ `1249linescreenmodeiscurrentlyset
-(, >'
6xd6*>
GQDoEdit GQQQ
J
h]Type:`FunctionA Syntax:0`DoEdit(EnableMouse;&chkcode;&keypress)h]FRm;`(#`(# 33$SPurpose:0`Allowseditingcapabilityinthedocument.Breaksoutwhenthehotspotregion5 isclickedonorthekeypassedinkeypresshasbeenentered.ThiscanbeusedwithFAKEIT.3$SBS
`(#`(# IIrTParameters:0IrTT
(#(# EnableMouseAllowtheusertousethemouse
`0hMouseclicksnotallowed} `1hMouseclicksallowedf &chkcode0Arrayaddressofcodesthat,whentheuserattemptstodelete,will!q deletethecodeandreturncontrolbacktothemacro,passingthedeletedcodeback.SetChkCodeto1ifnodeletedcodesneedtobetracked.
(#(# &keypressArrayofvaluesofkeystoallow `Example:8154=F7``WReturnValues:0`W
X(#(# `1Quitz `1Continuec `20ShowMeorHintfromaFakeItL!(#(# `KeyAnyothervaluewillequalkeynumber5" >'
6xd6+>$@ #
Y
K
Filter YPZ:Z&%v $ h]Type:`FunctionH'"& Syntax:0`
L
Filter(&array;Key;Accel)h]ZmB)$(`(#`(# 33[Purpose:0`CompareskeyvaluesorDialogControlIDsagainstallowablekeyIDsor<+&* allowableDialogControlIDs.3[[
`(#`(# 6-(, II\Parameters:0I\\(#(# &array0Arrayaddressofitemstocheck(#(# Key`0Itemtocheckagainstthoseitemsfoundin&array|(#(# Accel`0CheckingacceleratorsN
`1Checkingmenuvalues7 ``_ReturnValues:0`_)_
B
(#(# `0Novaliditemfound< `1Avaliditemwasfound%
>'
6xd6,>
S`
M
Hint S``` h]Type:`Function8 Syntax:0`
N
Hint(&tbox;Xpos;Ypos;Buttons)h]Pam2`(#`(# 332bPurpose:0`Displaysa"hint"helpbox.Theboxcontainsexplanatorytext.32bPb,`(#`(# IIcParameters:0Ic&c&(#(# &tbox`Themessagetoappearonthescreen Xpos`horizontalposition Ypos`verticalposition Button0hTitle=QuickTippButtons=~Continuet! `1Title=HintTippButtons=~ShowMe~Returnto]" Coach`2Title=QuickTippButtons=~ShowMe~Continue/$" `3Title=HintButtons=~ReturntoCoach%h # ``fReturnValues:0Returnsaredependentonwhichbuttonswereincluded.`ff'##&(#(# `1Continue,ShowMe,ReturntoCoach)%( `2ReturntoCoach,Continue*&) >'
6xd6->q-(,
Dh
O
HotSpotDhhh-(- h]Type:`Function Syntax:0`
P
HotSpot(Xpos1;Ypos1;Xpos2;Ypos2;AltKey;&funkey;Execute)h]Dim`(#`(# 33@jPurpose:0`Setsuponehotspotregion.Allowstheusertochoosethehotspot,orpressan Altkeyormultiplefunctionkeys.3@j^j
`(#`(# IIUkParameters:0IUksk(#(# Xpos1`lefthorizontalposition
Ypos1`topverticalpositionj
Xpos2`righthorizontalpositionS
Ypos2`bottomverticalposition< AltKeykeyvalueofallowableAltKey^
`Example:529=AltT&funkeyArrayaddressofvalidfunctionkeystoallow `Example8137=AltF7ExecuteExecutetheuser'schoice `0hDonotexecutem `1hAllowexecutionofthechosenkeyV ``oReturnValues:0`oo(x(#(# `1ShowbuttonpressedorEnterkeypressed"r `3Menuacceleratorkeywaspressed[ >'
6xd6.>
q
Q
InvalidControl qqmq L h]Type:`Function#n! Syntax:0`
R
InvalidControl(&info;&x1;&x2;&y1;&y2;&hotkey;&hotpnt;&accel;%h # &aclpnt;&tbox;&helpmsg;&allow)h]rm
`(#`(# 33BsPurpose:0`Usedtofilteruserinputonanycontrolotherthanthosedefinedandcontrolled'K#& byButtonControl,LstBxControlorWinEdControl.ThiscommandisnormallyusedwiththeDefaultparameterofaCASEstatement.3Bs`s
`(#`(# IItParameters:0Itt+'*(#(# The&infoarraycontains10parameters:-), `1ControlID `2Dialog `3AllowUp/DownArrows `1=yes0=no`4TitleforPostItMessageT `5XposforPostIt= `99=Center`6YposforPostIt_ `99=Center`7PostItMessageType1 `1=Continue,Quitw/default`2=ShowMew/default`3=ShowMew/gray`4=Hint`5=ShowMeHintQuit`6=Quit`8Titleof&helpmsg,usually"Coach"@ `9RestoreScreen)y `1=yes0=no`10ReservedK &x1`arraysforhotspots &x2&y1&y2&hotkey0keyequivalentforeachhotspotitemdefinedwiththex1,x2,y1,andx2Z parameters
(#(# &hotpnt0restorescreenforcurrenthotspottoclearthecurrentcoachdialog.e(#(# `0=donotrepaint`1=repaint`2=waits2secondsforadoubleclick`Thisparametermusthaveoneelementforeachdefinedhotspotelement.&accelthekeysyouwanttoallowtheusertopress$# &aclpnt0restorescreenforcurrentacceleratortoclearthecurrentcoachdialog.]&!% 0=donotrepaint1=repaint.Thisparametermusthaveoneelementforeachdefinedaccelelement.
(#(# &tbox`message*Q%) &helpmsghelpmessageappearsifuserflounders+#'+ &allow0ArrayaddressofalldialogcontrolIDsthatarevaliduser-(- choices..Thisoptionwillallowfocustostayonaninvalidcontroluntilatab,keystrokeormouseclickmovesfocustoadialogcontrolthatisdefinedasvalid.
(#(# &hbox00(#(#Hintmessageifneededrequiresthefollowingplacedjustafter= theWHILEcommand,orifyouneedadifferenthintforeachcontrol,withintheCaseOfforthecontrolsrequiringthehint.
(#(# `If(Result="Hint")`hhbox={"HintMessage"}`hHint=(MessageBox("HINT";&hbox;1)`Endifh
>'
6xd6/>n
S
KeyFilter h]Type:`Function Syntax:0`
T
KeyFilter(&array;Key;&brk)h]m`(#`(# 33fPurpose:0`CompareskeyvaluesagainstallowableKeyIDsandexecutablebitsforeach
key.3f
`(#`(# IIXParameters:0IXv(#(# &arrayhArrayaddressofitemstocheck Key`Itemtocheckagainstthoseitemsfoundin&arrayi &brk`Arrayaddressofexecutionbits; ``AReturnValues:0`A_"F!(#(# `0Novaliditemfound$@ # `1Avaliditemwasfound%)!$ `2Avaliditemwasfoundplusanexecutionbitwasalsofound&"% >'
6xd60>f*%)
U
LstBxControl ~h*%* h]Type:`Function,(, -)- Syntax:0`
V
LstBxControl(&info;&x1;&x2;&y1;&y2;&hotkey;&hotpnt;&accel; &aclpnt;&tbox;&helpmsg)h]m
`(#`(# 33FPurpose:0`ControlsListBoxesinDialogBoxes3Fd`(#`(# IIParameters:0I(#(# The&infoarraycontains10parameters: `1ControlIDr `2DialogID[
`3AllowUp/DownArrowsD
`1=yes0=no`4TitleforPostItMessagef `5XposforPostItO
`99=Center`6YposforPostIt! `99=Center`7PostItMessageType `1=Continue,Quitw/default`2=ShowMew/default`3=ShowMew/gray`4=Hint`5=ShowMeHintQuit`8Titleofhelpmsg,usually"Coach"i `9RestoreScreenR `1=yes0=no`10Reserved$ &x1`Arraysforhotspots &x2&y1&y2&hotkey0Keyequivalentforeachhotspotitemdefinedwiththex1,x2,y1,and3#! x2parameters.
(#(# &hotpnt0Restorescreenforcurrenthotspottoclearthecurrentcoachdialog.%>!$(#(# `0=donotrepaint`1=repaint.`2=waits2secondsforadoubleclick`Thisparametermusthaveoneelementforeachdefinedhotspotelement.&accelThekeysyouwanttoallowtheusertopress.d+&* &aclpnt0Restorescreenforcurrentacceleratortoclearthecurrentcoachdialog.6-(,(#(# `0=donotrepaint`1=repaint.`Thisparametermusthaveoneelementforeachdefinedaccelelement.&tbox`MessageT &helpmsgHelpmessagethatappearsifuserflounders.&
v &hbox00(#(#HintmessageifneededrequiresthefollowingplacedjustafterH theWHILEcommand,orifyouneedadifferenthintforeachcontrol,withintheCaseOfforthecontrolsrequiringthehint.
(#(# `If(Result="Hint")`hhbox={"HintMessage"}`hHint=(MessageBox("HINT";&hbox;1)`Endifhn >'
6xd61>)y
MenuBarControl _
Y
h]Type:`Function Syntax:0`MenuBarControl(Title;&hbox1;&sbox;Xpos;Ypos;MnuLtr;&funkey)h]m{`(#`(# 33Purpose:0`Controlsthemenubaruntiladesiredmenuhasbeenlocatedbeforereturningu controltothemacro.UsewithinaRepeat/Until(MenuActive<>1)looptoallowonlythecorrectitemtobeselectedfromtheMenuBar.3.
`(#`(# IIParameters:0IA(#(# Title`Titleofthemessagebox,usually"Coach"; &hbox1Arrayaddressofhelpmessage
"] `0Thisisnormallythehbox1messagesetforMenuControl
(#(# &sboxArrayaddressofshowmessage$ # Xpos`Horizontalpositionoftheshowmessage&!% Ypos`Verticalpositionoftheshowmessage'"& MnuLtr0AlphaletterthatrepresentsoneofthepulldownmenusU)$((#(# `F=File`E=Edit`V=View`L=Layout`T=Tools-2)- `o=Font`G=Graphics`W=Window`H=Help`&funkeyArrayofallowablefunctionkeys.&
v `Example:7149=Shift+F12 >'
6xd62>
MenuControl E/P
Z
h]Type:`Function"r
Syntax:0`MenuControl(&hbox1;&hbox2;&hbox3;&valid;&allow;&exallow;&accel;l
&exaccel;&subval;&subacl;&exsubacl;&subs;&funkey)h]m
`(#`(# 33Purpose:0`Controlsaccesstomenus.Specifythemenuitem(s)youwanttoallowwiththeO &allowparameter.Whentheuserchoosesthecorrectitems,thiscommandbreaks.ThiscommandcanbeusedinaRepeat/Until(MenuActive<>1)loop.ItshouldbethelastcommandintheloopandbefollowedwithaMenuActive=ResulttoassigntheresultofMenuControltoMenuActive.3*
`(#`(# IIParameters:0I4(#(# &hbox1Coachmessagedirectingtocorrectmenubaritem &hbox2Coachmessagedirectingtocorrectitemonmenu &hbox3Coachmessagedirectingtocorrectitemonsubmenui &valid0Validoptionsfoundonthesamemenuasthealloweditems.; ThesearesetbyusingEditMenu(&valid),FileMenu(&valid),etc.
(#(# &allowArrayofallowablemenuoptions"F! `Example:Allow={2050;}//Create#/" &exallow0Arraythatcorrespondswithvalueslistedin&allow.%!$(#(# `0hDonotallowexecution&!% `1hAllowexecution'"& `Example:exallow={1;}//allowtoexecutel(#' &accelValidmainmenuaccelerators>*%) `Example:accel={98;}p//Ta(b)les'+w&* &exaccel0Arraythatcorrespondswithvalueslistedin&accel.,I(,(#(# `0hDonotallowexecution-2)- `1hAllowexecution `Example:exaccel={1;}//allowtoexecute &subvalOptionsfoundonthesamesubmenuasthoseoptionsallowedk `Example:subval={2050;//CreateT `h2051;//Edit= `h776;//InsertRow&
v `h777;//DeleteRow_ `h2052;//JoinH `h2053;//Split1 `h2054;//Calculate
`h2055;//CreateFloatingCell
`h2056;//EditFloatingCell
`h}&subaclSubmenuacceleratorstoallowW
`Example:subacl={99;}//Create@ &exsubacl0Arraythatcorrespondswithvalueslistedin&subacl.b(#(# `0hDonotallowexecutionK `1hAllowexecution4 `Example:exsubacl={1;}//allowtoexecute `h&subs`Validmainmenuitemsthatpopoutasubmenu `Example:Subs={1537;}//Tables &funkeyArrayofallowablefunctionkeyspZ ``dReturnValues:0`d,|(#(# `DialogIDHighlightedmenuoptionor& v `KeyvalueKeyvalueifacceleratorkeywaspressed!_ >'
6xd63>#"
[
MessageBox H2$P# h]Type:`Function"&r!% Syntax:0`
\
MessageBox(Title;&tbox;Buttons)h]m(l#'`(#`(# 33Purpose:0`Postsacenteredmessagethatneedstobedismissedbypressingoneofits*f%) buttons.3
`(#`(# IIParameters:0I,I(,(#(# Title`Thetitletoappearatthetopofthebox. &tbox`Thearrayoftexttobedisplayedinthebox ButtonsThebuttonstoappearonthebox. `0hNobuttonsk `1hOKT `2hOKCancel= `3hYes,Now/Yesasdefault&
v `4hYes,No,Cancelw/Yesasdefault_ `5hYes,Now/NoasdefaultH `6hQuit...Esc1 `70hContinue
h(#h(# `8hContinueQuit...Esc
``ReturnValues:0`
(#(# `1Quit,Cancel
`1OK,Yes,Continueh `2NoQ >'
6xd64>\
R
]
NoBlock RB h]Type:`Functiond Syntax:0`
^
NoBlock()h]Rm^`(#`(# 33 Purpose:0`Checksifblockmodeisactive.Ifblockmodeisnotactive,amessageappearsX thatsays"NothingisBlocked."3 >
`(#`(# II2Parameters:0NoneI2P; (#(# ``ReturnValues:0`5" (#(# `1Yes/$" `2No%h # >'
6xd65>($'
_
NoSelect hR(B$( h]Type:`Function+d&* Syntax:0`
`
NoSelect()h]m-^(,`(#`(# 33Purpose:0`Checksiftextisselected.Iftextisnotselectedbutblockmodeison,a messageappearsthatsays"Blockisonalthoughnothingisselected."3
`(#`(# IIParameters:0NoneI(#(# ``ReturnValues:0`v
(#(# `1Yesp `2NoY
>'
6xd66>d
a
OpenDocument $J
h]Type:`Functionl
Syntax:0`
b
OpenDocument(&tbox)h]mf`(#`(# 33Purpose:0`Helpstheuseropenadocument.3``(#`(# II:Parameters:0I:XZ(#(# &tbox0`Theinstructionsfortypingthefilename.Iftboxisspecifiedas1,thedefaultT texttobedisplayedwillbe:"Thedocumentscreenisblank.Wouldyouliketoopenafile?"
`(#`(# ``ReturnValues:0`H(#(# `1UserchosetonotopenafileB `1Useropenedafile + >'
6xd67>#!
c
Overview {#"
d
h]Type:`Function%>!$ Syntax:0`
d
Overview(Title;&tbox;Buttons)h] m'8#&`(#`(# 33Purpose:0`CreatestheOverviewdialogboxthatcanbeusedatthebeginningofacoach.3 )2%(`(#`(# IIParameters:0I+,'*(#(# Title`Titletoappearattopofbox,usually"Coach"-&), &tbox`Thetexttoappearinthebox Buttons1PrevNextCancel. ``ReturnValues:0`k(#(# `1=Prev`2=Next`1=Cancel >'
6xd68>+
e
PostIt a
"r
h]Type:`Function Syntax:0`
f
PostIt(Title;&tbox;Xpos;Ypos;Modal;Buttons;Steps)h]m`(#`(# 33Purpose:0`Displaysamessageboxthatcanbeactiveorinactive.Itmayhavebuttonson nobuttons.3
`(#`(# IIParameters:0I(#(# Title`Thetitletobedisplayedatthetopofthebox,usually"Coach"
&tbox`Thearraymessagetobedisplayedinthebox.j
Xpos`ThehorizontalpositionoftheboxS
`99hCenterBox< Ypos`Theverticalpositionofthebox%u
`99hCenterBox^
Modal`ShouldboxwaitforusertopressaPostItbutton?G `0hDonotwaitforresponse0 `1hWaitforUserResponse ButtonsThebuttonstoappearonthebox. `0hnobuttons `1hQuit...Esc `2hShowMe...Ctrl+S(default)Quit...Escm `3hShowMe...Ctrl+S(StyGray!)Quit...Esc(StyGray!)V `4hHint...F1Quit...Esc? `5hShowMeHint...F1Quit...Esc(x `6hShowMe...Ctrl+SQuit...Esc(Stacked)a `70hHint...F1Quit...Esc(stacked)Jh(#h(# `Steps`Showthecurrentsteptext. `0hDonotshowsteps `1hShowSteps ``ReturnValues:0`p" (#(# `1Quitj$" `1ShowMeS% # `2Hint<&!$ >'
6xd69>(G$'
^Welcome ^-)}$(
g
h]Type:`FunctionO+&* Syntax:0`Welcome(Title;&tbox)h]^mI-(,`(#`(# 33*Purpose:0`Displaysamessageboxwelcomingtheusertothecoach.3*H`(#`(# IIParameters:0I(#(# Title`0ThetitletoappearatthetopoftheWelcomescreen,usually"Coach."(#(# &tbox`0Thearraymessagetoappearinthebox.v
(#(# ``ReturnValues:0`H(#(# `1=Continue`1=Quit+{
>'
6xd6:>M
h
WinEdControl 3 h]Type:`FunctionU Syntax:0`
i
WinEdControl(&info;&x1;&x2;&y1;&y2;&hotkey;&hotpnt;&accel;O &aclpnt;&tbox;&helpmsg)h]m
`(#`(# 33Purpose:0`ControlsWindowEditboxesinDialogBoxes.32`(#`(# II}Parameters:0I},|(#(# The&infoarraycontains10parameters:&v `1ControlIDa `2DialogIDJ `3AllowUp/DownArrows3 `1=yes0=no`4TitleforPostItMessage `5XposforPostIt! `99=Center`6YposforPostItp#! `99=Center`7PostItMessageTypeB% # `1=Continue,Quitw/default`2=ShowMew/default`3=ShowMew/gray`4=Hint`5=ShowMeHintQuit`6=Quit`8Titleof&helpmsg,usually"Coach"+&* `9RestoreScreen,'+ `1=yes0=nos-(, `10Reserved &x1`arraysforhotspots &x2&y1&y2&hotkey0keyequivalentforeachhotspotitemdefinedwiththex1,x2,y1,andx2_ parameters
(#(# &hotpnt0restorescreenforcurrenthotspottoclearthecurrentcoachdialog.
(#(# `0=donotrepaint`1=repaint.
`2=waits2secondsfordoubleclick`Thisparametermusthaveoneelementforeachdefinedhotspotelement.&accelThekeysyouwanttoallowtheusertopress.)y &aclpnt0Restorescreenforcurrentacceleratortoclearthecurrentcoachdialog.K Thisparametermusthaveoneelementforeachdefinedaccelelement.
(#(# `0=donotrepaint`1=repaint.&tbox`Message. &helpmsgHelpmessagetoappearifuserflounders.Z &hbox0Hintmessageifneededrequiresthefollowingplacedjustafter,| theWHILEcommand,orifyouneedadifferenthintforeachcontrol,withintheCaseOfforthecontrolsrequiringthehint.
(#(# `If(Result="Hint")`hhbox={"HintMessage"}`hHint=(MessageBox("HINT";&hbox;1)`Endifh#" &hotelement0NumberofequivalenthotspotforcurrentWindowEdititem,asdefinedt% $ intheharraysforHotspots.]&!%(#(# >'
6xd6;>*Q%)
j
XYFilter
7*%* h]Type:`FunctionY,', j-(- Syntax:0`
k
XYFilter(&x1;&x2;&y1;&y2)h]m`(#`(# 33~Purpose:0`Comparesmouseclicksagainstallowablehotspotregions.3~`(#`(# IIMParameters:0IMk(#(# &x1`LeftHorizontalpositionofhotspotrectangle
&x2`RightHorizontalpositionofhotspotrectangle &y1`TopVerticalpositionofhotspotrectanglep &x2`BottomVerticalpositionofhotspotrectangleY
``ReturnValues:0`+{
(#(# `0Novalidhotspotfound%u
`1Avalidhotspotwasfound^
@H
FunctionsWPCHLBTB.WPM >'
6xd6<>M
!
l
TableBlockEdit !3 h]Type:`Function Syntax:0`
m
TableBlockEdit(Title;&msg;EnableMouse;X1;X2;Y1;Y2;&keypress)h]+m
`(#`(# 33,Purpose:0`HelpstheuserthroughblockingcellsinTableEditMode.3,J`(#`(# IIParameters:0I
(#(# Title`Thetitleofthemessage,usually"Coach." &msg`Themessagetoappearinthedialog.
EnableMouseAllowtheusertousemouse.
`1=yes`0=noX1`CoordinatesforhotspottoendTableBlockEdit.+{ X2Y1Y2&keypressKeytheusermustpresswhendoneblocking. ``
ReturnValues:0`
6
(#(# `Addressofthelastcellthatwasblocked`Example:B3 >'
6xd6=>?!
n
PostANote
o
p
u! h]Type:`Function#! Syntax:0`
q
PostANote(Title;&tbox;Xpos;Ypos;Modal;Buttons)h]9m% #`(#`(# 33,
Purpose:0`Postsamessageonthescreen.3,
J
'"%`(#`(# II
Parameters:0I
)$'(#(# Title`Thetitleofthemessage,usually"Coach."+&) &msg`Themessagetoappearinthedialog.h,'* Xpos`Xpositionofdialogbox.Q-(+ `99=centerYpos`Ypositionofdialogbox. `99=centerModal`Usermustclosemessageboxbeforecontinuing.k `1=yes`0=noButtonsButtonstoappearonmessagebox.&
v `0hnobuttons_ `1hOKH `2hOKContinue1 `3hContinueQuit
`4hHint...F1Quit..>Esc
`5hShowMe...Ctrl+SHint...F1Quit..>Esc
`6hQuit...Esc
``HReturnValues:0`HfW
(#(# `1QuitQ `1ShowMeHint: `2Hint#s E
c
c00`(#(#Part3
CoachMacroTools
c`(#`(# IncludedwiththisdocumentisacustomkeyboardlayoutfilenamedCOACH.WPKcontainingthreemacrosthatarehelpfulwhenwritingcoaches.Thefollowingisashortdescriptionofwhatthemacrosdo,andhowtousethem.ToactivatetheCOACHkeyboard,copytheCOACH.WPKfiletoyourmacrosdirectory.SelectthekeyboardbypressingShift+F1,K.HighlighttheCOACHkeyboardinthelist,andchooseSelect.Alt+DMacro
PressAlt+Dtodisplaytheidentificationnumberofthecurrentdialogbox,dialogcontrol,menu,ormenucommand.Tousethemacro,pressAlt+D,thendisplaythedesireddialogboxormenu.UsetheTaborarrowkeystoselectthedialogboxcontrolorthemenuitemyouwant.ThedialogboxIDanddialogcontrolIDisshownatthebottomofthescreen(the"flashing"oftheIDnumberisnormal).Note:WhenusingtheAlt+Dmacrowithmenus,theDialogIDvalueisalways2.TheControlIDrepresentstheuniquemenucommandvalue.PressEscwhenyouaredoneusingtheAlt+Dmacro.Alt+HMacroC PressAlt+HtofindthecurrentX/Ypositionofthemouse.Tousethemacro,pressAlt+H,andchooseOKwhenthe"Mousepositioningtoolison"remindermessageappears.Positionthemouseattheappropriatepointonyourscreen.ClicktheleftmousebuttontodisplaytheX/Ycoordinates.Positionandclickforothercoordinates.PressEscwhenyouaredoneusingtheAlt+Hmacro,andchooseYes.Alt+KMacro/(#' PressAlt+Ktofindthekeyvalueofanykey.Tousethemacro,pressAlt+K,thenpressanykeyorallowablekeycombination(suchasShift+F2orAlt+E).Themacrodisplaysthekeyvalue,andasksifyouwanttoinsertthevalueintothedocument.AnswerYesorNo,accordingly.-(- Note:Mouseclicksalwaysreturnavalueof768,nomatterwhichmousebuttonwasclicked(left,right,ormiddle).Ifyouneedtodeterminewhichbuttonwasclicked,usethe?MouseLeftand?MouseRightsystemvariables.T Part4
Reference Thisappendixprovidesusefulreferencematerialforwritingcoaches.6
hX6
StandardCoachHeaderSample6& =
Xh6
hX6 6 !
Xh6
hX6d!//Usethefollowingasboilerplateforthecoachheader6d!!
Xh6
hX65"//*********************************************65"n"
Xh6
hX6"//6"7#
Xh6
hX6#//NAME:P
NameofCoach6##
Xh6
hX6$//PURPOSE:P
PurposeofCoach6$$
Xh6
hX6`%//AUTHOR:P
AuthorofCoach6`%%
Xh6
hX6>&//6>&w&
Xh6
hX6&//*********************************************6&'
Xh6
hX6'6''
Xh6
hX6=(//RevisionHistory6=(v(
Xh6
hX6(//6(#)
Xh6
hX6)//6))
Xh6
hX6"*6"*[*
Xh6
hX6*Error(Off!)6**
Xh6
hX6a+Global(ScrnMode;MsgAdj;DefTitle;CancelMsg)6a++
Xh6
hX6%,Global(FakeBtns;HotElement;SaveScrn)6%,^,
Xh6
hX6,6,-
Xh6
hX6}-DefTitle="MainTitleofCoach"X//Maintitlename6}--
Xh6
hX6.Title="Coach"6..
Xh6
hX6&/ScrnMode=?ScreenHigh246&/_/
Xh6
hX6/CancelMsg=06/0
Xh6
hX6|06|00
Xh6
hX61Use("WPCHLIBR.WPM")X//Sharedlibraryfile61O1e
Xh6
hX62ColorScheme()62V2
Xh6
hX62ScreenSetup()622
Xh6
hX6k3MsgAdj=DlgMessage()6k33
Xh6
hX64//*************************************************************64Q4
Xh6
hX6464*5
Xh6
hX65655
Xh
GlobalVariablest% $ ThefollowingvariablesmustbedeclaredasGLOBALatthebeginning(header)ofF'"& theCoach.Variable`WhatitDoes*S%) $XXX$ScrnMode0Thisvariableretainsavaluetoresizescreensaccordingtotextscreen+%'+ mode.Theheadermustalsoincludethefollowingstatement:
(#(# -(- ScrnMode=?ScreenHigh24MsgAdj0Thisvariableisusedtoproperlyplacemessageboxes.Theheadermust alsoincludethefollowingstatement:
(#(# MsgAdj=DlgMessage()DefTitle0Thisvariableisusedasthemaintitlefordialogboxes._(#(# HotElement0Thisvariableisusedindialogboxesthatcontaintexteditboxes,and1 whenthecoachmustexercisecontrolovertheentryoftextintheseboxes.
(#(# 0YoumustsetavaluetothisvariablebeforeusingtheWinEdControlcoachroutine.Thistellsthecoachwhich,ifany,ofthehotspotsdefinethecurrenteditwindow.Iftheeditwindowisnotsetasahotspotthevalueissetto0.Iftheeditwindowisthefirstdefinedhotspot,thevalueis1,thesecondhotspotis2,andsoforth.
(#(# 0HotElementisusefultostopacceleratorcharactersfrombeingtypedintoawindowwhenyouclickonit.
(#(# SaveScrn0ThisvariableallowstheCoachtodeterminewhentorestorescreens. Youmustsetthisvariableto0beforeaWhileloopsuchasWhile(?Dialog=###)tocontrolthedisplayofadialogbox.
(#(# (
XXX(7(Setthefollowingvariablesatthebeginningofthecoach:ScrnMode=?ScreenHigh24MsgAdj=DlgMessage()DefTitle="NameofCoach"CancelMsg=0Setthefollowingvariableswithinthecoach,asneeded:HotElement=#(whenusingWinEdControl)t% $ SaveScrn=0(WhenusingaWhiletocontrolaDialog)]&!% Others00(#(#anyvariablesneededtobepassedasparameterstoaF'"& PROCEDUREorFUNCTION(seedocumentationbelow)
(#(# CoachStyleSpecifications*:&* Followingarespecificationsuggestionsforconstructingtheproper"lookandfeel"ofyourcoaches.-(- WelcomeMessageTheWelcomemessagecontainsaContinuebuttonandaQuitButton.ThemessageboxmayalsoprovideaHintbutton,ifoneisneeded.UsetheWelcome(Title;&tbox)coachproceduretocreatetheWelcomemessage.Helpfultextonthisscreenisdiscretionary,dependingonthefunctionofthecoach.InstructionBox
Theinstructionbox(usuallycreatedusingthePostItroutine)shouldbepositionedandsizedsothatitisnevercoveredupwhentheappropriatepulldownmenuisaccessed.Forexample,theboxshouldplacedinthecenterorrightportionofthescreeniftheuserisexpectedtoaccesstheFilemenu.Theinstructionboxshouldbetitled"Coach".o0`Thereshouldbeoneblanklineatthetopbeforethetextbegins,andoneblankK lineatthebottom.
`(#`(# o0`Asmallstatementshouldappearatthetoptoreminduserswhattheyare doing.
`(#`(# `Example:Tomarktheselectedtext:q o0`AnyinstructionsshouldbeprefacedwiththeASCII16character().E`(#`(# o0`ThenamesofmenuoptionsshouldbeinBold.UsetheMacroFunc[BoldOn]g and[BoldOff]codestoproducetheboldattribute.(Youcancopythesecodesfromanexistingcoach.Or,youcanrecordmacrothatincludesthesecodes.Turnrecordingon,andsearchforaBoldOn/BoldOffpair.Stoprecording,openthemacro,andcopythecodes.)
`(#`(# o0`Onepointercharactershouldprecedethefirstmenuchoice,andanother$# pointercharactershouldprecedethekeystrokeequivalent.
`(#`(# o0`TheinstructionboxshouldremainonthescreenuntilthedesireddialogboxH'"& hasappeared.
`(#`(# o0`WhentheShowMebuttonisused,theinstructionboxshouldremainonthe*S%) screen.
`(#`(# o0`UseShowMenutoanimatetheShowMeandplaceasmaller,untitleddialog,(, boxnearthecorrectitem.-(-`(#`(# `Example:ChooseNew. o0`Iftheuserisnotonthepropermenu(theyarelookinginEditwhenthey shouldbeinFile),amessage(&hbox1)appearsthattellsthemwhichmenuitemtochoose.
`(#`(# `Example:0ChooseFile.(
x(#(# o0`Oncetheuserisinthepropermenu,butishavingtroubleselectingtheproperL menucommand,anadditionalboxmayappearwithfurtherinstructions(&hbox2).
`(#`(# `Example:ChooseNew.
TheFakeItInstructionBoxUsethefollowingconventionswiththeFakeItinstructionbox.o0`Thecharactershouldprecedeanyinstructions.NobulletsshouldprecedeQ informationaltext.
`(#`(# o0`ThereshouldbeContinue...F7andQuit...Escbuttons.Optionally,whenneeded includeaHintorShowMebutton.
`(#`(# WordingConventionsI Keepthefollowingwordingconventionsinmindwhenwritingmessagetextinyourcoaches.o0`InstructionsshouldbeprefacedwithASCIIcharacter16().!& `(#`(# o0`Wheninstructingwhattheusershouldchoose,placethenameofthemenu#" itemorbuttoninbold.
`(#`(# o0`Usetheword"Choose"toinstructuserstochooseanitemfromamenu.c&!%`(#`(# `Example:ChooseTools.5(#' o0`Usetheword"Select"wheninstructingtheusertoselectanitemfromalistor*Y%) popupbox.
`(#`(# `Example:Selectthelabelsdefinitionthatyouneed.,(, -(- o0`Usetheword"Press"whengivinginstructionfortheusertopressakeyonthe keyboard.
`(#`(# `Example:PressAlt+F7k o0`Usea+(plus)todesignatekeysthatshouldbepressedatthesametime.?`(#`(# `Example:Alt+F7a o0`Informationthatisnotaninstructionshouldhavenobullets().5`(#`(# o0`Indialogboxesdisplayinganytext,thereshouldbeoneblanklinebetweenthe
titleandthefirstlineoftext,andoneblanklinebetweenthelastlineoftextandthebottomofthedialogbox,orthebuttons,ifany.
`(#`(# o0`Thereshouldbeonespacebetweentheleftandrightbordersofthedialogbox[
andthetextinside.
`(#`(# o0`Textshouldnotbepurposelycenteredintheboxes.f`(#`(# o0`Thesizeoftheboxwillgenerallybedependentontheamountoftextinside.8 Iftherearesizeconstraints,theblanklinesatthetopandbottomcanbeusedfortext.
`(#`(# o0`Donotinstructtheusertochooseabuttonwhenthatbuttonisonthecoach dialogbox,andisobvious.Forexample,iftheboxincludesaContinuebutton,don'tincludeinstructionsto"Typetext,thenpressContinue."
`(#`(# 0 KeyValues $XXX$ X MouseClick(Any)768 F18158T F28159= F37832&
v F48157_ F58156H F681551 F78154
F88153
F98152
F108151
F118134n F128133W
Shift+F18148)y Shift+F28147b Shift+F38146K Shift+F481454 Shift+F58144 Shift+F68143 Shift+F78142 Shift+F88141 Shift+F98140q Shift+F108139Z Shift+F118046C Shift+F127149,| Ctrl+F18124N Ctrl+F28123 7 Ctrl+F38122! Ctrl+F48121"! Ctrl+F58120#" Ctrl+F68119$# Ctrl+F78118t% $ Ctrl+F88117]&!% Ctrl+F98116F'"& Ctrl+F108115/(#' Ctrl+F117759)h$( Ctrl+F127163*Q%) Alt+F18136+#'+ Alt+F28135,(, Alt+F38134-(- Alt+F4x8133 Alt+F5x8132k Alt+F6x8131T Alt+F7x8130= Alt+F8x8129&
v Alt+F9x8128_ Alt+F10x8127H Alt+F11x67741 Alt+F12x6774
Alt+Ax548
Alt+Bx547
Alt+Cx546n Alt+Dx545W
Alt+Ex544@ Alt+Fx543)y Alt+Gx541b Alt+Hx541K Alt+Ix5404 Alt+Jx539 Alt+Kx538 Alt+Lx537 Alt+Mx536 Alt+Nx535q Alt+Ox534Z Alt+Px533C Alt+Qx532,| Alt+Rx531e Alt+Sx530N Alt+Tx529 7 Alt+Ux528! Alt+Vx527"! Alt+Wx526#" Alt+Xx525$# Alt+Yx524t% $ Alt+Zx523]&!% Alt+0x522/(#' Alt+1x521)h$( Alt+2x520*Q%) Alt+3x519*:&* Alt+4x518+#'+ Alt+5x517,(, Alt+6x516
-(- Alt+7515 Alt+8514 Alt+9513 Ctrl+A8068T Ctrl+B8155= Ctrl+C8066&
v Ctrl+D8051_ Ctrl+E8064H Ctrl+F80631 Ctrl+G8062
Ctrl+H8061
Ctrl+I8060
Ctrl+J8059
Ctrl+K8058n Ctrl+L8057W
Ctrl+M8056@ Ctrl+N7045)y Ctrl+O8054b Ctrl+P7466K Ctrl+Q80524 Ctrl+R8165 Ctrl+S8050 Ctrl+T8049 Ctrl+U8153q Ctrl+V8047Z Ctrl+W8046C Ctrl+X8045,| Ctrl+Y8032e Ctrl+Z8043N Ins8099! Ctrl+Ins8082"! Del8111$# Ctrl+Del8083t% $ Home8184F'"& Alt+Home8087/(#' Ctrl+Home8104)h$( End8107*:&* Ctrl+End8181+#'+ PageUp8103-(- Ctrl+PageUpx8105 PageDownx8102 Ctrl+PageDownx8180k UpArrowx8169= Alt+UpArrowx8089&
v Ctrl+UpArrowx8093_ DnArrowx81661 Alt+DnArrowx8088
Ctrl+DnArrowx8092
RtArrowx8168
Alt+RtArrowx8090n Ctrl+RtArrowx8109W
LtArrowx8167)y Alt+LtArrowx8091b Ctrl+LtArrowx8108K Bkspacex8112 Ctrl+BkSpacex8110 Enterx8182 Alt+Enterx8169q Ctrl+Enterx8097Z Tabx8183,| Shift+Tabx8098e (
XXX.Y(
N X @jQINDEX 8
c
cr00`(#(#9
%
W
9
BlockEdit`".`(#`(#21
crr
c
cs00`(#(#ButtonControl`".5 `(#`(#&"35
css|
c
ct00`(#(#CancelCoach`".`(#`(#21
ctte
c
cu00`(#(#CancelDialogs`".K `(#`(#22
cuuN
c
cv00`(#(#CancelMenus`".`(#`(#22
cvv7
c
cw00`(#(#CheckColorSet`".w `(#`(#22
cww p
c
cx00`(#(#CoachMacroTools`".$`(#`(#P756
cxx
Y
c
cy00`(#(#ColorScheme`".`(#`(#23
cyy
B
c
cz00`(#(#CommentsBox`".a`(#`(#23
czz+
c
cr{00`(#(#DlgFilter`".`(#`(#'$37
cr{{
c
cc|00`(#(#DoEdit`".`(#`(#)%38
cc|~|
c
cQ}00`(#(#EditMenu`".`(#`(#23
cQ}l}
c
cA~00`(#(#EditTable`".`(#`(#$!34
cA~\~
c
c200`(#(#ExitDlgProc`".`(#`(#24
c2Mh
c
c%00`(#(#ExitDocProc`".`(#`(#
24
c%@Q
c
c00`(#(#ExitTableEdit`". `(#`(#! 33
c3:
c
c
00`(#(#ExitWPProc`".`(#`(#24
c
(#s
c
c00`(#(#FakeIt`".`(#`(#25
c\
c
c00`(#(#FileMenu`".`(#`(#
25
cE
c
c00`(#(#Filter`".c`(#`(#*%38
c.
c
c00`(#(#FontMenu`".`(#`(#26
c
c
c00`(#(#GlobalVariables`".
#`(#`(#S958
c
c
c00`(#(#GraphicsMenu`".V`(#`(#26
c
c
c00`(#(#HelpMenu`".`(#`(#27
c
c
c00`(#(#Hint`".`(#`(#,&39
ck
c
c00`(#(#HotSpot#!.K`(#`(#.&39
,/'40
cT
c
c00`(#(#InvalidControl`".L!`(#`(#0'40
c=
c
c00`(#(#KeyFilter`".`(#`(#2)42
c& v
c
c{00`(#(#LayoutMenu`".`(#`(#27
c{!_
c
cm00`(#(#LstBxControl#!.`(#`(#4)42
,5*43
cm!H
c
c00`(#(#MenuBar`".`(#`(#27
c"1!
c
cr00`(#(#MenuBarControl`".
!`(#`(#6+44
cr#"
c
ch00`(#(#MenuControl`".`(#`(#7,45
ch$ #
c
c[00`(#(#MenuPop`".`(#`(#27
c[v% $
c
cJ00`(#(#MessageBox`".`(#`(#8-46
cJe&!%
c
c<00`(#(#NoBlock`".`(#`(#:.47
c
c+00`(#(#NoSelect`".`(#`(#<.47
c+FW(#'
c
c00`(#(#NoSubMenu`".`(#`(#28
c6@)$(
c
c00`(#(#NotFoundCoach`". `(#`(#28
c')*y%)
c
c00`(#(#OpenDocument`".`(#`(#>/48
c+b&*
c
c00`(#(#Overview`".`(#`(#@/48
c+K'+
c
c00`(#(#PleaseWait`".6`(#`(#28
c,4(,
c
c00`(#(#PostANote`".`(#`(#L554
c-)-
c
c00`(#(#PostIt#!.`(#`(#C049
,D150
c
c
c00`(#(#QuitCoach`".`(#`(#29
c
c
c00`(#(#Reference`".`(#`(#Q958
c
c
c00`(#(#ReplaceProc`".`(#`(#29
ck
c
c00`(#(#RestoreStates`". `(#`(#29
cT
c
c00`(#(#SavingDoc`".)`(#`(#30
c=
c
c00`(#(#ScreenSetup`".`(#`(#30
c&
v
c
c00`(#(#SetBoxSize`".V`(#`(#30
c_
c
cx00`(#(#ShowMenu`".J`(#`(#30
cxH
c
ch00`(#(#StandardCoachHeaderSample`"./`(#`(#R958
ch1
c
cl00`(#(#TableBlockEdit`".!`(#`(#J554
cl
c
cb00`(#(#TableEditControl`".*
#`(#`(#" 33
cb}
c
cZ00`(#(#TableEditCtrl2`".b!`(#`(## 33
cZu
c
cP00`(#(#TblColEdit`".5`(#`(#%!34
cPk
c
cB00`(#(#ToolsMenu`".K`(#`(#31
cB]n
c
c300`(#(#Tutorial".6`(#`(#2
c3NW
c
c"00`(#(#ViewMenu`".4`(#`(#32
c"=@
c
c00`(#(#Welcome`".`(#`(#E150
c-)y
c
c00`(#(#WindowMenu`".4`(#`(# 32
cb
c
c00`(#(#WinEdControl`".K`(#`(#F251
cK
c
c00`(#(#XYFilter#!.`(#`(#H352
,I453
c4 8
8
r8
8
c
c;700`(#(#BlockEdit`".`(#`(#17
c;7V7
c
c800`(#(#ButtonControl`".5 `(#`(#29
c8)8|
c
c800`(#(#CancelCoach`".`(#`(#17
c89e
c
c900`(#(#CancelDialogs`".K `(#`(#18
c99N
c
c:00`(#(#CancelMenus`".`(#`(#18
c::7
c
cf;00`(#(#CheckColorSet`".w `(#`(#18
cf;; p
c
c=<00`(#(#CoachMacroTools`".$`(#`(#46
c=
c
c=00`(#(#ColorScheme`".`(#`(#18
c=3=
B
c
c=00`(#(#CommentsBox`".a`(#`(#18
c=>+
c
c>00`(#(#DlgFilter`".`(#`(#30
c>>
c
c?00`(#(#DoEdit`".`(#`(#31
c??
c
ce@00`(#(#EditMenu`".`(#`(#19
ce@@
c
c7A00`(#(#EditTable`".`(#`(#28
c7ARA
c
c
B00`(#(#ExitDlgProc`".`(#`(#19
c
B%Bh
c
cB00`(#(#ExitDocProc`".`(#`(#19
cBBQ
c
cC00`(#(#ExitTableEdit`". `(#`(#27
cCC:
c
cD00`(#(#ExitWPProc`".`(#`(#20
cDD#s
c
c_E00`(#(#FakeIt`".`(#`(#20
c_EzE\
c
c/F00`(#(#FileMenu`".`(#`(#20
c/FJFE
c
cG00`(#(#Filter`".c`(#`(#32
cGG.
c
cG00`(#(#FontMenu`".`(#`(#21
cGG
c
cH00`(#(#GlobalVariables`".
#`(#`(#47
cHH
c
c}I00`(#(#GraphicsMenu`".V`(#`(#21
c}II
c
cSJ00`(#(#HelpMenu`".`(#`(#21
cSJnJ
c
c%K00`(#(#Hint`".`(#`(#32
c%K@Kk
c
cK00`(#(#HotSpot`".K`(#`(#33
cKLT
c
cL00`(#(#InvalidControl`".L!`(#`(#33
cLL=
c
cM00`(#(#KeyFilter`".`(#`(#35
cMM& v
c
coN00`(#(#LayoutMenu`".`(#`(#22
coNN!_
c
cCO00`(#(#LstBxControl`".`(#`(#35
cCO^O!H
c
cP00`(#(#MenuBar`".`(#`(#22
cP4P"1!
c
cP00`(#(#MenuBarControl`".
!`(#`(#36
cPQ#"
c
cQ00`(#(#MenuControl`".`(#`(#37
cQQ$ #
c
cR00`(#(#MenuPop`".`(#`(#22
cRR% $
c
chS00`(#(#MessageBox`".`(#`(#38
chSS&!%
c
c
c
U00`(#(#NoSelect`".`(#`(#39
c
U(UW(#'
c
cU00`(#(#NoSubMenu`".`(#`(#23
cUU@)$(
c
cV00`(#(#NotFoundCoach`". `(#`(#23
cVV)*y%)
c
cW00`(#(#OpenDocument`".`(#`(#40
cWW+b&*
c
c_X00`(#(#Overview`".`(#`(#40
c_XzX+K'+
c
c1Y00`(#(#PleaseWait`".6`(#`(#23
c1YLY,4(,
c
cZ00`(#(#PostANote`".`(#`(#44
cZ Z-)-
c
cZ00`(#(#PostIt#!.`(#`(#40,41
cZZ
c
c[00`(#(#QuitCoach`".`(#`(#23
c[[
c
c\00`(#(#Reference`".`(#`(#47
c\\
c
cR]00`(#(#ReplaceProc`".`(#`(#24
cR]m]k
c
c'^00`(#(#RestoreStates`". `(#`(#24
c'^B^T
c
c^00`(#(#SavingDoc`".)`(#`(#24
c^_=
c
c_00`(#(#ScreenSetup`".`(#`(#24
c__&
v
c
c`00`(#(#SetBoxSize`".V`(#`(#25
c``_
c
cza00`(#(#ShowMenu`".J`(#`(#25
czaaH
c
cLb00`(#(#StandardCoachHeaderSample`"./`(#`(#47
cLbgb1
c
c2c00`(#(#TableBlockEdit`".!`(#`(#44
c2cMc
c
c
d00`(#(#TableEditControl`".*
#`(#`(#27
c
d%d
c
cd00`(#(#TableEditCtrl2`".b!`(#`(#27
cdd
c
ce00`(#(#TblColEdit`".5`(#`(#28
cee
c
cf00`(#(#ToolsMenu`".K`(#`(#26
cffn
c
ccg00`(#(#Tutorial".6`(#`(#2
ccg~gW
c
c4h00`(#(#ViewMenu`".4`(#`(#26
c4hOh@
c
ci00`(#(#Welcome`".`(#`(#41
ci!i)y
c
ci00`(#(#WindowMenu`".4`(#`(#26
ciib
c
cj00`(#(#WinEdControl`".K`(#`(#42
cjjK
c
ck00`(#(#XYFilter`".`(#`(#43
ckk4 /78
%