RbBFBlokProjŠÃI7éXÌ!PSIVStrn5.5OPSpStrnTextWithHyperlinksNTH.rbACnmStrnAChpStrnACsvStrnlocalhost:7325Ver1Strn1Ver2Strn0Ver3Strn0RelsStrn0NnRlStrn0RegnStrn0SVerStrnLVerStrnIVerStrnDVewInt ½÷YprTpInt DLanInt CLanInt DEncInt BflgInt BCXFInt IconGrup1žEndGInt 1žCPalGrupÐ1ŸflagInt elemInt ÿÿÿÿelemInt ÿÿÿÿelemInt ÿÿÿÿelemInt ÿÿÿÿelemInt ÿÿÿÿelemInt ÿÿÿÿelemInt ÿÿÿÿelemInt ÿÿÿÿelemInt ÿÿÿÿelemInt ÿÿÿÿelemInt ÿÿÿÿelemInt ÿÿÿÿelemInt ÿÿÿÿelemInt ÿÿÿÿelemInt ÿÿÿÿelemInt ÿÿÿÿEndGInt 1ŸMacCStrn????BMacStrnMy Application (Classic)BCarStrnMy ApplicationBSizInt @BMSzInt BSzSStrn4096BMSSStrn2048MDIcStrnMy ApplicationBWinStrnMy Application.exeBMDIInt BL86Strn MyApplicationrEdtRect×>H¾fTypGrupL1 nameStrntextMacCStrnR*chtypeStrnTEXTdefnStrnflagInt EndGInt 1 PadnPadn(****************************************BlokpVew½÷Y(.}Uù‡¼ÂNameStrnWindow1ContInt rEdtRectñaÀ eSptInt µbPGpGrupP1¡bPElGrup41¢scKyInt õâúrEdtRectñaÀ eSptInt µEndGInt 1¢EndGInt 1¡lstHInt lstVInt DPDefGrup41£nameStrnNamePValStrnWindow1EncoInt EndGInt 1£PDefGrup(1¤nameStrnFramePValStrn0EndGInt 1¤PDefGrup01¥nameStrn CompositePValStrnFalseEndGInt 1¥PDefGrup01¦nameStrn HasBackColorPValStrnFalseEndGInt 1¦PDefGrup01§nameStrn BackColorPValStrn16777215EndGInt 1§PDefGrup(1¨nameStrnBackdropPValStrn0EndGInt 1¨PDefGrupD1©nameStrnTitlePValStrnText With HyperlinksEncoInt EndGInt 1©PDefGrup(1ªnameStrnVisiblePValStrnTrueEndGInt 1ªPDefGrup01«nameStrn FullScreenPValStrnFalseEndGInt 1«PDefGrup01¬nameStrnMenuBarVisiblePValStrnTrueEndGInt 1¬PDefGrup(1­nameStrnCloseBoxPValStrnTrueEndGInt 1­PDefGrup,1®nameStrnGrowIconPValStrnFalseEndGInt 1®PDefGrup01¯nameStrn LiveResizePValStrnFalseEndGInt 1¯PDefGrup,1°nameStrnZoomIconPValStrnFalseEndGInt 1°PDefGrup(1±nameStrn BalloonHelpPValStrnEndGInt 1±PDefGrup,1²nameStrn MacProcIDPValStrn0EndGInt 1²PDefGrup01³nameStrnMenuBarPValStrn -1123682472EndGInt 1³PDefGrup,1´nameStrn PlacementPValStrn0EndGInt 1´PDefGrup(1µnameStrnWidthPValStrn520EndGInt 1µPDefGrup(1¶nameStrnHeightPValStrn158EndGInt 1¶PDefGrup(1·nameStrnMinWidthPValStrn64EndGInt 1·PDefGrup,1¸nameStrn MinHeightPValStrn64EndGInt 1¸PDefGrup,1¹nameStrnMaxWidthPValStrn32000EndGInt 1¹PDefGrup01ºnameStrn MaxHeightPValStrn32000EndGInt 1ºFDefGrupD1»NameStrnWindow1SizeInt ŒSuprStrnWindowbNtrInt EndGInt 1»CBhvGrup 1¼NameStrnSizeInt ˆSuprStrnTextWithHyperlinksNTHbNtrInt HInsGrupÀ1½EncoInt nameStrnPaintsorcGrup„1¾stsrInt stscInt ndsrInt ndscInt EncoInt srclStrnSub Paint(g as Graphics)srclStrnsrclStrnEnd SubEndGInt 1¾EndGInt 1½HInsGrupØ1¿EncoInt nameStrn TextClickedsorcGrup˜1ÀstsrInt stscInt ndsrInt ndscInt EncoInt srclStrnSub TextClicked()srclStrntxtLinkValue.Text = ""srclStrnEnd SubEndGInt 1ÀEndGInt 1¿HInsGrup€1ÁEncoInt nameStrnOpensorcGrupH1ÂstsrInt stscInt "ndsrInt ndscInt "EncoInt srclStrn Sub Open()srclStrndim d as DictionarysrclStrnsrclStrnd = new DictionarysrclStrnsrclStrnd.Value("2") = "2 Door"srclStrnd.Value("4") = "4 Door"srclStrnsrclStrn"hypMain.TextBlocks(1).LinkData = dsrclStrnEnd SubEndGInt 1ÂEndGInt 1ÁHInsGrupH1ÃEncoInt nameStrn LinkClickedsorcGrup1ÄstsrInt stscInt dndsrInt ndscInt dEncoInt srclStrn6Sub LinkClicked(TheLink as TextWithHyperlinksBlockNTH)srclStrndtxtLinkValue.Text = "Name: " + TheLink.LinkName + " : Value: " + TheLink.LinkValuesrclStrnEnd SubEndGInt 1ÄEndGInt 1ÃEndGInt 1¼CBhvGrupD1ÅNameStrnSizeInt tSuprStrnRoundRectanglebNtrInt EndGInt 1ÅCBhvGrup@1ÆNameStrnSizeInt ˆSuprStrn StaticTextbNtrInt EndGInt 1ÆCtrlGrup1ÇcclsStrnTextWithHyperlinksNTHnameStrnCanvasPDefGrup41ÈnameStrnNamePValStrnhypMainEncoInt EndGInt 1ÈPDefGrup01ÉnameStrnIndexPValStrn -2147483648EndGInt 1ÉPDefGrup01ÊnameStrn TabPanelIndexPValStrn0EndGInt 1ÊPDefGrup(1ËnameStrnVisiblePValStrnTrueEndGInt 1ËPDefGrup$1ÌnameStrnLeftPValStrn30EndGInt 1ÌPDefGrup$1ÍnameStrnTopPValStrn35EndGInt 1ÍPDefGrup(1ÎnameStrnWidthPValStrn460EndGInt 1ÎPDefGrup(1ÏnameStrnHeightPValStrn21EndGInt 1ÏPDefGrup,1ÐnameStrn InitialParentPValStrnEndGInt 1ÐPDefGrup$1ÑnameStrnHelpTagPValStrnEndGInt 1ÑPDefGrup(1ÒnameStrn BalloonHelpPValStrnEndGInt 1ÒPDefGrup01ÓnameStrnDisabledBalloonHelpPValStrnEndGInt 1ÓPDefGrup01ÔnameStrnAutoDeactivatePValStrnTrueEndGInt 1ÔPDefGrup,1ÕnameStrnLockLeftPValStrnFalseEndGInt 1ÕPDefGrup,1ÖnameStrnLockTopPValStrnFalseEndGInt 1ÖPDefGrup01×nameStrn LockRightPValStrnFalseEndGInt 1×PDefGrup01ØnameStrn LockBottomPValStrnFalseEndGInt 1ØPDefGrup(1ÙnameStrnBackdropPValStrn0EndGInt 1ÙPDefGrup(1ÚnameStrnEnabledPValStrnTrueEndGInt 1ÚPDefGrup,1ÛnameStrn UseFocusRingPValStrnTrueEndGInt 1ÛPDefGrup01ÜnameStrn AcceptFocusPValStrnFalseEndGInt 1ÜPDefGrup01ÝnameStrn AcceptTabsPValStrnFalseEndGInt 1ÝPDefGrup01ÞnameStrnUnderlineOnHoverPValStrnTrueEndGInt 1ÞPDefGrup,1ßnameStrn LinkColorPValStrn255EndGInt 1ßPDefGrup,1ànameStrn TextColorPValStrn0EndGInt 1àPDefGrup1ánameStrn InitialTextPValStrnÚShow all 2 Door Cars with Automatic Transmissions.EncoInt EndGInt 1áCBixInt EndGInt 1ÇCtrlGrupd1âcclsStrnRoundRectanglenameStrnRoundRectanglePDefGrup<1ãnameStrnNamePValStrnRoundRectangle1EncoInt EndGInt 1ãPDefGrup01änameStrnIndexPValStrn -2147483648EndGInt 1äPDefGrup01ånameStrn TabPanelIndexPValStrn0EndGInt 1åPDefGrup(1ænameStrnVisiblePValStrnTrueEndGInt 1æPDefGrup$1çnameStrnLeftPValStrn30EndGInt 1çPDefGrup$1ènameStrnTopPValStrn80EndGInt 1èPDefGrup(1énameStrnWidthPValStrn460EndGInt 1éPDefGrup(1ênameStrnHeightPValStrn40EndGInt 1êPDefGrup,1ënameStrn InitialParentPValStrnEndGInt 1ëPDefGrup$1ìnameStrnHelpTagPValStrnEndGInt 1ìPDefGrup(1ínameStrn BalloonHelpPValStrnEndGInt 1íPDefGrup01înameStrnDisabledBalloonHelpPValStrnEndGInt 1îPDefGrup01ïnameStrnAutoDeactivatePValStrnTrueEndGInt 1ïPDefGrup,1ðnameStrnLockLeftPValStrnFalseEndGInt 1ðPDefGrup,1ñnameStrnLockTopPValStrnFalseEndGInt 1ñPDefGrup01ònameStrn LockRightPValStrnFalseEndGInt 1òPDefGrup01ónameStrn LockBottomPValStrnFalseEndGInt 1óPDefGrup(1ônameStrnEnabledPValStrnTrueEndGInt 1ôPDefGrup01õnameStrn FillColorPValStrn16777215EndGInt 1õPDefGrup,1önameStrn BorderWidthPValStrn1EndGInt 1öPDefGrup,1÷nameStrn BorderColorPValStrn0EndGInt 1÷PDefGrup,1ønameStrn OvalWidthPValStrn10EndGInt 1øPDefGrup,1ùnameStrn OvalHeightPValStrn10EndGInt 1ùCBixInt EndGInt 1âCtrlGrup1úcclsStrn StaticTextnameStrn StaticTextPDefGrup81ûnameStrnNamePValStrn txtLinkValueEncoInt EndGInt 1ûPDefGrup01ünameStrnIndexPValStrn -2147483648EndGInt 1üPDefGrup01ýnameStrn TabPanelIndexPValStrn0EndGInt 1ýPDefGrup(1þnameStrnVisiblePValStrnTrueEndGInt 1þPDefGrup$1ÿnameStrnLeftPValStrn50EndGInt 1ÿPDefGrup$2nameStrnTopPValStrn90EndGInt 2PDefGrup(2nameStrnWidthPValStrn421EndGInt 2PDefGrup(2nameStrnHeightPValStrn20EndGInt 2PDefGrupH2nameStrn InitialParentPValStrnRoundRectangle1EncoInt EndGInt 2PDefGrup$2nameStrnHelpTagPValStrnEndGInt 2PDefGrup(2nameStrn BalloonHelpPValStrnEndGInt 2PDefGrup02nameStrnDisabledBalloonHelpPValStrnEndGInt 2PDefGrup02nameStrnAutoDeactivatePValStrnTrueEndGInt 2PDefGrup,2nameStrnLockLeftPValStrnFalseEndGInt 2PDefGrup,2 nameStrnLockTopPValStrnFalseEndGInt 2 PDefGrup02 nameStrn LockRightPValStrnFalseEndGInt 2 PDefGrup02 nameStrn LockBottomPValStrnFalseEndGInt 2 PDefGrup82 nameStrnTextFontPValStrnSystemEncoInt EndGInt 2 PDefGrup(2 nameStrnTextSizePValStrn12EndGInt 2 PDefGrup(2nameStrnBoldPValStrnFalseEndGInt 2PDefGrup,2nameStrnItalicPValStrnFalseEndGInt 2PDefGrup02nameStrn UnderlinePValStrnFalseEndGInt 2PDefGrup 2nameStrnTextPValStrnEndGInt 2PDefGrup,2nameStrn TextAlignPValStrn0EndGInt 2PDefGrup,2nameStrn TextColorPValStrn0EndGInt 2PDefGrup02nameStrn MultiLinePValStrnFalseEndGInt 2PDefGrup(2nameStrnEnabledPValStrnTrueEndGInt 2PDefGrup(2nameStrn DataSourcePValStrnEndGInt 2PDefGrup(2nameStrn DataFieldPValStrnEndGInt 2CBixInt EndGInt 1úPadnPadn ****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************BlokpMnu½÷X.}Uù‡¼ÂNameStrnMenuBar1ContInt rEdtRectdd,ÈMItmGrup˜2spmuInt nameStrntextStrnindxInt €scutStrnbhlpStrndhlpStrnstylInt EncoInt flagInt maEnInt NameStrnSizeInt LSuprStrnMenuItembNtrInt MItmGrupÀ2spmuInt nameStrntextStrnindxInt €scutStrnbhlpStrndhlpStrnstylInt EncoInt flagInt maEnInt NameStrnSizeInt LSuprStrnMenuItembNtrInt EndGInt 2EndGInt 2MItmGrup˜2spmuInt nameStrnFileMenutextStrn&FileindxInt €scutStrnbhlpStrndhlpStrnstylInt EncoInt flagInt maEnInt NameStrnSizeInt LSuprStrnMenuItembNtrInt MItmGrupØ2spmuInt nameStrnFileQuittextStrnE&xitindxInt €scutStrnQbhlpStrndhlpStrnstylInt EncoInt flagInt maEnInt NameStrnSizeInt LSuprStrn QuitMenuItembNtrInt EndGInt 2MItmGrupÀ2spmuInt nameStrntextStrnindxInt €scutStrnbhlpStrndhlpStrnstylInt EncoInt flagInt maEnInt NameStrnSizeInt LSuprStrnMenuItembNtrInt EndGInt 2EndGInt 2MItmGrup 2spmuInt nameStrnEditMenutextStrn&EditindxInt €scutStrnbhlpStrndhlpStrnstylInt EncoInt flagInt maEnInt NameStrnSizeInt LSuprStrnMenuItembNtrInt MItmGrupÔ2spmuInt nameStrnEditUndotextStrn&UndoindxInt €scutStrnZbhlpStrndhlpStrnstylInt EncoInt flagInt maEnInt NameStrnSizeInt LSuprStrnMenuItembNtrInt EndGInt 2MItmGrupÄ2spmuInt nameStrntextStrn-indxInt €scutStrnbhlpStrndhlpStrnstylInt EncoInt flagInt maEnInt NameStrnSizeInt LSuprStrnMenuItembNtrInt EndGInt 2MItmGrupÐ2 spmuInt nameStrnEditCuttextStrnCu&tindxInt €scutStrnXbhlpStrndhlpStrnstylInt EncoInt flagInt maEnInt NameStrnSizeInt LSuprStrnMenuItembNtrInt EndGInt 2 MItmGrupÔ2!spmuInt nameStrnEditCopytextStrn&CopyindxInt €scutStrnCbhlpStrndhlpStrnstylInt EncoInt flagInt maEnInt NameStrnSizeInt LSuprStrnMenuItembNtrInt EndGInt 2!MItmGrupØ2"spmuInt nameStrn EditPastetextStrn&PasteindxInt €scutStrnVbhlpStrndhlpStrnstylInt EncoInt flagInt maEnInt NameStrnSizeInt LSuprStrnMenuItembNtrInt EndGInt 2"MItmGrupÔ2#spmuInt nameStrn EditCleartextStrnClearindxInt €scutStrnbhlpStrndhlpStrnstylInt EncoInt flagInt maEnInt NameStrnSizeInt LSuprStrnMenuItembNtrInt EndGInt 2#MItmGrupÀ2$spmuInt nameStrntextStrnindxInt €scutStrnbhlpStrndhlpStrnstylInt EncoInt flagInt maEnInt NameStrnSizeInt LSuprStrnMenuItembNtrInt EndGInt 2$EndGInt 2MItmGrupÀ2%spmuInt nameStrntextStrnindxInt €scutStrnbhlpStrndhlpStrnstylInt EncoInt flagInt maEnInt NameStrnSizeInt LSuprStrnMenuItembNtrInt EndGInt 2%PadnPadn,********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************BlokpObj½÷W.}Uù‡¼ÂNameStrnAppContInt rEdtRect_K!•eSptInt ÿÿübPGpGrupP2&bPElGrup42'scKyInt õâúrEdtRect_K!•eSptInt ÿÿüEndGInt 2'EndGInt 2&bClsInt NameStrnAppSizeInt 4SuprStrn ApplicationbNtrInt IntrStrnbApOInt PDefGrup02(nameStrnMenuBarPValStrn -1123682472EndGInt 2(PadnPadn€****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************BlokpObj½û.}Uù‡¼ÂNameStrnTextWithHyperlinksBlockNTHContInt rEdtRectr¯!•eSptInt bPGpGrupP2)bPElGrup42*scKyInt õâúrEdtRectr¯!•eSptInt EndGInt 2*EndGInt 2)bClsInt NameStrnTextWithHyperlinksBlockNTHSizeInt 0bNtrInt PropGrupÈ2+EncoInt declStrnIsHovering as BooleansorcGrup|2,stsrInt stscInt ndsrInt ndscInt EncoInt ntlnStrnIsHovering as BooleanntlnStrnntlnStrnEndGInt 2,EndGInt 2+PropGrup¸2-EncoInt declStrnText as StringsorcGrupt2.stsrInt stscInt ndsrInt ndscInt EncoInt ntlnStrnText as StringntlnStrnntlnStrnEndGInt 2.EndGInt 2-PropGrupÀ2/EncoInt declStrnLinkName as StringsorcGrupx20stsrInt stscInt ndsrInt ndscInt EncoInt ntlnStrnLinkName as StringntlnStrnntlnStrnEndGInt 20EndGInt 2/PropGrupÀ21EncoInt declStrnIsLink as BooleansorcGrupx22stsrInt stscInt ndsrInt ndscInt EncoInt ntlnStrnIsLink as BooleanntlnStrnntlnStrnEndGInt 22EndGInt 21PropGrupÀ23EncoInt declStrnLinkValue as StringsorcGrupx24stsrInt stscInt ndsrInt ndscInt EncoInt ntlnStrnLinkValue as StringntlnStrnntlnStrnEndGInt 24EndGInt 23PropGrupÀ25EncoInt declStrnLinkData as VariantsorcGrupx26stsrInt stscInt ndsrInt ndscInt EncoInt ntlnStrnLinkData as VariantntlnStrnntlnStrnEndGInt 26EndGInt 25IntrStrnPadnPadn¬********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************BlokpObj½÷®4.}Uù‡¼ÂNameStrnTextWithHyperlinksNTHContInt rEdtRect\’ZíeSptInt bPGpGrupP27bPElGrup428scKyInt õâúrEdtRect\’ZíeSptInt EndGInt 28EndGInt 27bClsInt NameStrnTextWithHyperlinksNTHSizeInt ˆSuprStrnCanvasbNtrInt PropGrupÜ29EncoInt declStrnUnderlineOnHover as BooleanflagInt sorcGrup€2:stsrInt stscInt ndsrInt ndscInt EncoInt ntlnStrnUnderlineOnHover as BooleanntlnStrnntlnStrnEndGInt 2:EndGInt 29PropGrup2;EncoInt declStrn/StringListNTH(-1) as TextWithHyperlinksBlockNTHflagInt sorcGrup”2stsrInt stscInt ndsrInt ndscInt EncoInt ntlnStrnLinkColor as ColorntlnStrnntlnStrnEndGInt 2>EndGInt 2=PropGrupÌ2?EncoInt declStrnTextColor as ColorflagInt sorcGrupx2@stsrInt stscInt ndsrInt ndscInt EncoInt ntlnStrnTextColor as ColorntlnStrnntlnStrnEndGInt 2@EndGInt 2?PropGrupÔ2AEncoInt declStrnInitialText as StringflagInt sorcGrup|2BstsrInt stscInt ndsrInt ndscInt EncoInt ntlnStrnInitialText as StringntlnStrnntlnStrnEndGInt 2BEndGInt 2AMethGrup2CEncoInt nameStrnTextparmStrnAssigns s as StringrsltStrnflagInt sorcGrup 2DstsrInt stscInt ndsrInt ndscInt EncoInt srclStrnSub Text(Assigns s as String)srclStrnDoTextAssignment(s)srclStrnEnd SubEndGInt 2DEndGInt 2CMethGrup42EEncoInt nameStrnDoTextAssignmentparmStrn s as StringrsltStrnflagInt sorcGrupÀ2FstsrInt (stscInt ndsrInt (ndscInt EncoInt srclStrn!Sub DoTextAssignment(s as String)srclStrndim x as XMLDocumentsrclStrndim i as integersrclStrnsrclStrnif s <> "" thensrclStrnsrclStrn#//First, we need to make an XML DocsrclStrnx = new XMLDocumentsrclStrnsrclStrn3//Trim s of all trailing and preceding white space.srclStrn s = trim(s)srclStrnsrclStrn@//Next, we need to push in tags in the beginning and end.srclStrnif left(s, 5) <> " "" thensrclStrns = s + ""srclStrnendsrclStrnsrclStrn*//Next, we push text tags in where needed.srclStrn*s = ReplaceAll(s, "", "")srclStrnsrclStrnif right(s, 6) = "" thensrclStrns = left(s, len(s) - 6)srclStrnendsrclStrnsrclStrns = "" + s + ""srclStrnsrclStrn x.LoadXml(s)srclStrnsrclStrn&for i = uBound(StringListNTH) DownTo 0srclStrnStringListNTH.Remove(i)srclStrnnextsrclStrnsrclStrn-for i = 0 to x.DocumentElement.ChildCount - 1srclStrn3StringListNTH.Append new TextWithHyperlinksBlockNTHsrclStrnsrclStrn1if x.DocumentElement.Child(i).ChildCount = 0 thensrclStrnStringListNTH(i).Text = " "srclStrnelsesrclStrnCStringListNTH(i).Text = x.DocumentElement.Child(i).FirstChild.ValuesrclStrnendsrclStrnsrclStrn0if x.DocumentElement.Child(i).Name = "link" thensrclStrnStringListNTH(i).IsLink = TruesrclStrnOStringListNTH(i).LinkName = x.DocumentElement.Child(i).GetAttribute("linkname")srclStrnQStringListNTH(i).LinkValue = x.DocumentElement.Child(i).GetAttribute("linkvalue")srclStrnendsrclStrnsrclStrnsrclStrnnextsrclStrnsrclStrnRefreshsrclStrnsrclStrnendsrclStrnEnd SubEndGInt 2FEndGInt 2EMethGrup`2GEncoInt nameStrn TextBlocksparmStrnIndex as IntegerrsltStrnTextWithHyperlinksBlockNTHflagInt sorcGrupÐ2HstsrInt stscInt ndsrInt ndscInt EncoInt srclStrnCFunction TextBlocks(Index as Integer) As TextWithHyperlinksBlockNTHsrclStrnReturn StringListNTH(Index)srclStrn End FunctionEndGInt 2HEndGInt 2GMethGrupX2IEncoInt nameStrnAppendTextBlockparmStrn'TextBlock as TextWithHyperlinksBlockNTHrsltStrnflagInt sorcGrupÈ2JstsrInt stscInt ndsrInt ndscInt EncoInt srclStrnRefreshRect OldLength, 0, (ExistingLength - OldLength), HeightsrclStrnendsrclStrnendsrclStrnsrclStrnnextsrclStrnsrclStrnendsrclStrnEnd SubEndGInt 2WEndGInt 2VHInsGrupÄ2XEncoInt nameStrn MouseMovesorcGrup„2YstsrInt stscInt ndsrInt 4ndscInt EncoInt srclStrn)Sub MouseMove(X As Integer, Y As Integer)srclStrndim i as integersrclStrndim s as stringsrclStrndim n as integersrclStrndim ExistingLength as IntegersrclStrndim OldLength as IntegersrclStrnsrclStrnif UnderlineOnHover = True thensrclStrnsrclStrn"for i = 0 to uBound(StringListNth)srclStrnsrclStrn=//First we need to find out how long the previous text was...srclStrns = ""srclStrnsrclStrn"//Build a string of all the texts.srclStrnfor n = 0 to isrclStrns = s + StringListNTH(n).TextsrclStrnnextsrclStrnsrclStrnOldLength = ExistingLengthsrclStrnsrclStrn(ExistingLength = graphics.StringWidth(s)srclStrnsrclStrn9//If the mouse is within our click area, then we need to srclStrn;//hover and refresh if the area was not previously hovered.srclStrn-if X < ExistingLength AND X > OldLength thensrclStrnif StringListNTH(i).IsLink thensrclStrnsrclStrn+if StringListNTH(i).IsHovering = False thensrclStrn"StringListNTH(i).IsHovering = TruesrclStrnsrclStrn"//Finally, refresh this rectangle.srclStrn>RefreshRect OldLength, 0, (ExistingLength - OldLength), HeightsrclStrnendsrclStrnendsrclStrnsrclStrn9//If our mouse is outside the click area, then we need tosrclStrnJ//un-hover and refresh if the area is a link, and was previously hovered. srclStrnelsesrclStrnif StringListNTH(i).IsLink thensrclStrnsrclStrn*if StringListNTH(i).IsHovering = True thensrclStrn#StringListNTH(i).IsHovering = FalsesrclStrnsrclStrn"//Finally, refresh this rectangle.srclStrn>RefreshRect OldLength, 0, (ExistingLength - OldLength), HeightsrclStrnendsrclStrnendsrclStrnendsrclStrnsrclStrnnextsrclStrnsrclStrnendsrclStrnEnd SubEndGInt 2YEndGInt 2XHInsGrup$2ZEncoInt nameStrnOpensorcGrupì2[stsrInt stscInt ndsrInt ndscInt EncoInt srclStrn Sub Open()srclStrnIf InitialText <> "" thensrclStrnDoTextAssignment(InitialText)srclStrnendsrclStrnsrclStrnOpensrclStrnEnd SubEndGInt 2[EndGInt 2ZHInsGrup82\EncoInt nameStrnMouseUpsorcGrupü2]stsrInt stscInt ndsrInt ndscInt EncoInt srclStrn'Sub MouseUp(X As Integer, Y As Integer)srclStrndim i as integersrclStrndim s as stringsrclStrndim n as integersrclStrndim ExistingLength as DoublesrclStrnsrclStrn"for i = 0 to uBound(StringListNth)srclStrnsrclStrn=//First we need to find out how long the previous text was...srclStrns = ""srclStrnsrclStrn"//Build a string of all the texts.srclStrnfor n = 0 to isrclStrns = s + StringListNTH(n).TextsrclStrnnextsrclStrnsrclStrn(ExistingLength = graphics.StringWidth(s)srclStrnsrclStrnK//msgBox str(i) + " = " + str(ExistingLength) + EndOfLine + "X = " + str(X)srclStrnif X < ExistingLength thensrclStrnif StringListNTH(i).IsLink thensrclStrnLinkClicked(StringListNTH(i))srclStrnelsesrclStrn TextClickedsrclStrnendsrclStrnsrclStrnExitsrclStrnendsrclStrnnextsrclStrnsrclStrn MouseUp(X,Y)srclStrnEnd SubEndGInt 2]EndGInt 2\HInsGrup¼2^EncoInt nameStrn MouseEntersorcGrup|2_stsrInt stscInt ndsrInt ndscInt EncoInt srclStrnSub MouseEnter()srclStrnsrclStrnEnd SubEndGInt 2_EndGInt 2^HInsGrupø2`EncoInt nameStrn MouseDownsorcGrup¸2astsrInt stscInt ndsrInt ndscInt EncoInt srclStrn9Function MouseDown(X As Integer, Y As Integer) As BooleansrclStrn Return TruesrclStrn End FunctionEndGInt 2aEndGInt 2`HInsGrup2bEncoInt nameStrnPaintsorcGrupØ2cstsrInt stscInt ndsrInt ndscInt EncoInt srclStrnSub Paint(g As Graphics)srclStrndim i as integersrclStrndim s as stringsrclStrndim n as integersrclStrndim ExistingLength as DoublesrclStrnsrclStrn"for i = 0 to uBound(StringListNth)srclStrnsrclStrn=//First we need to find out how long the previous text was...srclStrns = ""srclStrnsrclStrn*//Build a string of all the previous text.srclStrnfor n = 0 to i - 1srclStrns = s + StringListNTH(n).TextsrclStrnnextsrclStrnsrclStrn!ExistingLength = g.StringWidth(s)srclStrnsrclStrnif StringListNTH(i).IsLink thensrclStrng.ForeColor = LinkColorsrclStrn8if UnderlineOnHover AND StringListNTH(i).IsHovering thensrclStrng.Underline = TruesrclStrnDelseif UnderlineOnHover AND StringListNTH(i).IsHovering = False thensrclStrng.Underline = FalsesrclStrnelsesrclStrng.Underline = TruesrclStrnendsrclStrnsrclStrnelsesrclStrng.ForeColor = TextColorsrclStrng.Underline = FalsesrclStrnendsrclStrnsrclStrn6g.DrawString StringListNTH(i).Text, ExistingLength, 10srclStrnnextsrclStrnsrclStrnPaint(g)srclStrnEnd SubEndGInt 2cEndGInt 2bIntrStrnPadnPadn¨************************************************************************************************************************************************************************EOF!