RbBFBlokProj, xcC|PSIVStrn5.5OPSpStrnMenuItemExample.rbACnmStrnAChpStrnACsvStrnlocalhost:7325Ver1Strn1Ver2Strn0Ver3Strn0RelsStrn0NnRlStrn0RegnStrn0SVerStrnLVerStrnIVerStrnDVewInt prTpInt DLanInt CLanInt DEncInt BflgInt BCXFInt IconGrupDEndGInt DCPalGrupEflagInt elemInt elemInt elemInt elemInt elemInt elemInt elemInt elemInt elemInt elemInt elemInt elemInt elemInt elemInt elemInt elemInt EndGInt EMacCStrn????BMacStrnMy Application (Classic)BCarStrnMy ApplicationBSizInt @BMSzInt BSzSStrn4096BMSSStrn2048MDIcStrnMy ApplicationBWinStrnMy Application.exeBMDIInt BL86Strn MyApplicationrEdtRect tfTypGrupLFnameStrntextMacCStrnR*chtypeStrnTEXTdefnStrnflagInt EndGInt FPadnPadn,********************************************BlokpVeww, xcC|NameStrnWindow1ContInt rEdtRect_K!eSptInt bPGpGrupPGbPElGrup4HscKyInt rEdtRect_K!eSptInt EndGInt HEndGInt GlstHInt lstVInt PDefGrup4InameStrnNamePValStrnWindow1EncoInt EndGInt IPDefGrup(JnameStrnFramePValStrn0EndGInt JPDefGrup0KnameStrn CompositePValStrnFalseEndGInt KPDefGrup0LnameStrn HasBackColorPValStrnFalseEndGInt LPDefGrup0MnameStrn BackColorPValStrn16777215EndGInt MPDefGrup(NnameStrnBackdropPValStrn0EndGInt NPDefGrup8OnameStrnTitlePValStrnUntitledEncoInt EndGInt OPDefGrup(PnameStrnVisiblePValStrnTrueEndGInt PPDefGrup0QnameStrn FullScreenPValStrnFalseEndGInt QPDefGrup0RnameStrnMenuBarVisiblePValStrnTrueEndGInt RPDefGrup(SnameStrnCloseBoxPValStrnTrueEndGInt SPDefGrup,TnameStrnGrowIconPValStrnFalseEndGInt TPDefGrup0UnameStrn LiveResizePValStrnFalseEndGInt UPDefGrup,VnameStrnZoomIconPValStrnFalseEndGInt VPDefGrup(WnameStrn BalloonHelpPValStrnEndGInt WPDefGrup,XnameStrn MacProcIDPValStrn0EndGInt XPDefGrup0YnameStrnMenuBarPValStrn -1096976489EndGInt YPDefGrup,ZnameStrn PlacementPValStrn0EndGInt ZPDefGrup([nameStrnWidthPValStrn300EndGInt [PDefGrup(\nameStrnHeightPValStrn300EndGInt \PDefGrup(]nameStrnMinWidthPValStrn64EndGInt ]PDefGrup,^nameStrn MinHeightPValStrn64EndGInt ^PDefGrup,_nameStrnMaxWidthPValStrn32000EndGInt _PDefGrup0`nameStrn MaxHeightPValStrn32000EndGInt `FDefGrupDaNameStrnWindow1SizeInt SuprStrnWindowbNtrInt EndGInt aCBhvGrup@bNameStrnSizeInt SuprStrn EditFieldbNtrInt EndGInt bCtrlGrup TccclsStrn EditFieldnameStrn EditFieldPDefGrup8dnameStrnNamePValStrn EditField1EncoInt EndGInt dPDefGrup0enameStrnIndexPValStrn -2147483648EndGInt ePDefGrup0fnameStrn TabPanelIndexPValStrn0EndGInt fPDefGrup(gnameStrnVisiblePValStrnTrueEndGInt gPDefGrup$hnameStrnLeftPValStrn20EndGInt hPDefGrup$inameStrnTopPValStrn14EndGInt iPDefGrup(jnameStrnWidthPValStrn260EndGInt jPDefGrup(knameStrnHeightPValStrn266EndGInt kPDefGrup,lnameStrn InitialParentPValStrnEndGInt lPDefGrup$mnameStrnHelpTagPValStrnEndGInt mPDefGrup(nnameStrn BalloonHelpPValStrnEndGInt nPDefGrup0onameStrnDisabledBalloonHelpPValStrnEndGInt oPDefGrup0pnameStrnAutoDeactivatePValStrnTrueEndGInt pPDefGrup,qnameStrnLockLeftPValStrnFalseEndGInt qPDefGrup,rnameStrnLockTopPValStrnFalseEndGInt rPDefGrup0snameStrn LockRightPValStrnFalseEndGInt sPDefGrup0tnameStrn LockBottomPValStrnFalseEndGInt tPDefGrup8unameStrnTextFontPValStrnSystemEncoInt EndGInt uPDefGrup(vnameStrnTextSizePValStrn0EndGInt vPDefGrup(wnameStrnBoldPValStrnFalseEndGInt wPDefGrup,xnameStrnItalicPValStrnFalseEndGInt xPDefGrup0ynameStrn UnderlinePValStrnFalseEndGInt yPDefGrup(znameStrnBorderPValStrnTrueEndGInt zPDefGrup,{nameStrn MultiLinePValStrnTrueEndGInt {PDefGrup8|nameStrnScrollBarHorizontalPValStrnFalseEndGInt |PDefGrup,}nameStrn ScrollBarPValStrnTrueEndGInt }PDefGrup4~nameStrnScrollBarVerticalPValStrnTrueEndGInt ~PDefGrup,nameStrnStyledPValStrnFalseEndGInt PDefGrup,nameStrnPasswordPValStrnFalseEndGInt PDefGrup,nameStrn UseFocusRingPValStrnTrueEndGInt PDefGrup(nameStrnReadOnlyPValStrnTrueEndGInt PDefGrup,nameStrn LimitTextPValStrn0EndGInt PDefGrup0nameStrn AcceptTabsPValStrnFalseEndGInt PDefGrup,nameStrn AlignmentPValStrn0EndGInt PDefGrup,nameStrn TextColorPValStrn0EndGInt PDefGrup0nameStrn BackColorPValStrn16777215EndGInt PDefGrup(nameStrnEnabledPValStrnTrueEndGInt PDefGrup nameStrnTextPValStrnEndGInt PDefGrup(nameStrn DataSourcePValStrnEndGInt PDefGrup(nameStrn DataFieldPValStrnEndGInt PDefGrup$nameStrnFormatPValStrnEndGInt PDefGrup nameStrnMaskPValStrnEndGInt CBixInt EndGInt cPadnPadn|****************************************************************************************************************************BlokpMnuw, xcC|NameStrnMenuBar1ContInt rEdtRectdd,MItmGrupspmuInt nameStrntextStrnindxInt scutStrnbhlpStrndhlpStrnstylInt EncoInt flagInt maEnInt NameStrnSizeInt LSuprStrnMenuItembNtrInt MItmGrupspmuInt nameStrntextStrnindxInt scutStrnbhlpStrndhlpStrnstylInt EncoInt flagInt maEnInt NameStrnSizeInt LSuprStrnMenuItembNtrInt EndGInt EndGInt MItmGrup@spmuInt nameStrnFileMenutextStrn&FileindxInt scutStrnbhlpStrndhlpStrnstylInt EncoInt flagInt maEnInt NameStrnSizeInt LSuprStrnMenuItembNtrInt MItmGrupspmuInt nameStrnFileOpenRecentstextStrn Open &RecentindxInt scutStrnbhlpStrndhlpStrnstylInt EncoInt flagInt maEnInt NameStrnSizeInt LSuprStrnMenuItembNtrInt MItmGrupspmuInt nameStrntextStrnindxInt scutStrnbhlpStrndhlpStrnstylInt EncoInt flagInt maEnInt NameStrnSizeInt LSuprStrnMenuItembNtrInt EndGInt EndGInt MItmGrupspmuInt nameStrntextStrn-indxInt scutStrnbhlpStrndhlpStrnstylInt EncoInt flagInt maEnInt NameStrnSizeInt LSuprStrnMenuItembNtrInt EndGInt MItmGrupspmuInt nameStrnFileQuittextStrnE&xitindxInt scutStrnQbhlpStrndhlpStrnstylInt EncoInt flagInt maEnInt NameStrnSizeInt LSuprStrn QuitMenuItembNtrInt EndGInt MItmGrupspmuInt nameStrntextStrnindxInt scutStrnbhlpStrndhlpStrnstylInt EncoInt flagInt maEnInt NameStrnSizeInt LSuprStrnMenuItembNtrInt EndGInt EndGInt MItmGrup spmuInt nameStrnEditMenutextStrn&EditindxInt scutStrnbhlpStrndhlpStrnstylInt EncoInt flagInt maEnInt NameStrnSizeInt LSuprStrnMenuItembNtrInt MItmGrupspmuInt nameStrnEditUndotextStrn&UndoindxInt scutStrnZbhlpStrndhlpStrnstylInt EncoInt flagInt maEnInt NameStrnSizeInt LSuprStrnMenuItembNtrInt EndGInt MItmGrupspmuInt nameStrntextStrn-indxInt scutStrnbhlpStrndhlpStrnstylInt EncoInt flagInt maEnInt NameStrnSizeInt LSuprStrnMenuItembNtrInt EndGInt MItmGrupspmuInt nameStrnEditCuttextStrnCu&tindxInt scutStrnXbhlpStrndhlpStrnstylInt EncoInt flagInt maEnInt NameStrnSizeInt LSuprStrnMenuItembNtrInt EndGInt MItmGrupspmuInt nameStrnEditCopytextStrn&CopyindxInt scutStrnCbhlpStrndhlpStrnstylInt EncoInt flagInt maEnInt NameStrnSizeInt LSuprStrnMenuItembNtrInt EndGInt MItmGrupspmuInt nameStrn EditPastetextStrn&PasteindxInt scutStrnVbhlpStrndhlpStrnstylInt EncoInt flagInt maEnInt NameStrnSizeInt LSuprStrnMenuItembNtrInt EndGInt MItmGrupspmuInt nameStrn EditCleartextStrnClearindxInt scutStrnbhlpStrndhlpStrnstylInt EncoInt flagInt maEnInt NameStrnSizeInt LSuprStrnMenuItembNtrInt EndGInt MItmGrupspmuInt nameStrntextStrnindxInt scutStrnbhlpStrndhlpStrnstylInt EncoInt flagInt maEnInt NameStrnSizeInt LSuprStrnMenuItembNtrInt EndGInt EndGInt MItmGrupspmuInt nameStrntextStrnindxInt scutStrnbhlpStrndhlpStrnstylInt EncoInt flagInt maEnInt NameStrnSizeInt LSuprStrnMenuItembNtrInt EndGInt PadnPadn************************************************************************************************************************************BlokpObjwq\h-&NameStrnAppContInt rEdtRect!eSptInt bPGpGrupPbPElGrup4scKyInt rEdtRect!eSptInt EndGInt EndGInt bClsInt NameStrnAppSizeInt 8SuprStrn ApplicationbNtrInt PropGrupEncoInt declStrnmWnd as Window1flagInt !sorcGruptstsrInt stscInt ndsrInt ndscInt EncoInt ntlnStrnmWnd as Window1ntlnStrnntlnStrnEndGInt EndGInt MethGrupEncoInt nameStrnConstructOpenRecentsparmStrnrsltStrnflagInt !sorcGrupstsrInt stscInt ndsrInt ndscInt EncoInt srclStrnSub ConstructOpenRecents()srclStrn'// Get a handle to our parent sub menu.srclStrnDim parent, child as MenuItemsrclStrn=parent = App.MenuBar.Child( "FileMenu" ) // Get the file menusrclStrnif parent = nil then returnsrclStrnsrclStrnIparent = parent.Child( "FileOpenRecents" ) // Get the open recent submenusrclStrnif parent = nil then returnsrclStrnsrclStrn>// Now that we have a handle, let's set each of our menu itemssrclStrndim count, i as IntegersrclStrn!count = NumberOfOpenRecentItems()srclStrnsrclStrnfor i = 0 to count - 1srclStrn// Construct our child itemsrclStrn8child = new OpenRecentMenuItem( GetOpenRecentFile( i ) )srclStrnsrclStrn// And add it to our sub-menusrclStrnparent.Append( child )srclStrnnext isrclStrnEnd SubEndGInt EndGInt MethGrupEncoInt nameStrnNumberOfOpenRecentItemsparmStrnrsltStrnIntegerflagInt !sorcGrup stsrInt stscInt ndsrInt ndscInt EncoInt srclStrn-Function NumberOfOpenRecentItems() As IntegersrclStrn2// We're going to cheat and pretend the desktop issrclStrn// our recent item list.srclStrnreturn DesktopFolder.CountsrclStrn End FunctionEndGInt EndGInt MethGrupEncoInt nameStrnGetOpenRecentFileparmStrnindex as IntegerrsltStrn FolderItemflagInt !sorcGrupstsrInt stscInt )ndsrInt ndscInt )EncoInt srclStrn:Function GetOpenRecentFile(index as Integer) As FolderItemsrclStrn2// We're going to cheat and use the desktop foldersrclStrn2// as our recent items. Remember, FolderItem.ItemsrclStrn)// is one-based, and index is zero-based.srclStrn&return DesktopFolder.Item( index + 1 )srclStrn End FunctionEndGInt EndGInt MethGrupEncoInt nameStrnOpenFileparmStrnitem as FolderItemrsltStrnflagInt sorcGrupstsrInt stscInt 2ndsrInt ndscInt 2EncoInt srclStrn Sub OpenFile(item as FolderItem)srclStrn+// We "open" a file by putting its contentssrclStrn// into the main window.srclStrn2mWnd.EditField1.Text = item.OpenAsTextFile.ReadAllsrclStrnEnd SubEndGInt EndGInt HInsGrupEncoInt nameStrnEnableMenuItemssorcGrupstsrInt stscInt @ndsrInt ndscInt @EncoInt srclStrnSub EnableMenuItems()srclStrn@me.MenuBar.Child( "FileMenu" ).Child( "FileOpenRecents" ).EnablesrclStrnEnd SubEndGInt EndGInt HInsGrupEncoInt nameStrnOpensorcGrupstsrInt stscInt ndsrInt ndscInt EncoInt srclStrn Sub Open()srclStrnmWnd = new Window1srclStrn mWnd.ShowsrclStrnsrclStrnConstructOpenRecentssrclStrnEnd SubEndGInt EndGInt HInsGrupEncoInt nameStrn OpenDocumentsorcGrupstsrInt stscInt ndsrInt ndscInt EncoInt srclStrn$Sub OpenDocument(item As FolderItem)srclStrnsrclStrnEnd SubEndGInt EndGInt IntrStrnbApOInt PDefGrup0nameStrnMenuBarPValStrn -1096976489EndGInt PadnPadn********************************************************************************************************************************************************************************************************************************BlokpObjwq\h-&NameStrnOpenRecentMenuItemContInt rEdtRectr!eSptInt bPGpGrupPbPElGrup4scKyInt rEdtRectr!eSptInt EndGInt EndGInt bClsInt NameStrnOpenRecentMenuItemSizeInt PSuprStrnMenuItembNtrInt PropGrupEncoInt declStrnmFile as FolderItemflagInt !sorcGrupxstsrInt stscInt ndsrInt ndscInt EncoInt ntlnStrnmFile as FolderItemntlnStrnntlnStrnEndGInt EndGInt MethGrupEncoInt nameStrn ConstructorparmStrnitem as FolderItemrsltStrnflagInt sorcGrupstsrInt stscInt ndsrInt ndscInt EncoInt srclStrn#Sub Constructor(item as FolderItem)srclStrn// Store the file to opensrclStrn mFile = itemsrclStrnsrclStrn7// This call is redundant, but it's nice to be explicitsrclStrnme.AutoEnable = truesrclStrnsrclStrn!// Set the view for the menu itemsrclStrnme.Text = item.DisplayNamesrclStrnEnd SubEndGInt EndGInt HInsGruphEncoInt nameStrnActionsorcGrup,stsrInt stscInt ndsrInt ndscInt EncoInt srclStrnFunction Action() As BooleansrclStrn3// Fire the open method with our stored folder itemsrclStrnApp.OpenFile( mFile )srclStrnsrclStrn// We handled the actionsrclStrn return truesrclStrn End FunctionEndGInt EndGInt IntrStrnPadnPadn,****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************EOF!