信息化 频道

<连载>Protel二次开发从入门到精通

  3.6.3两个菜单例子

·例子1

此例子定义一个有两个子菜单的菜单条,“File”菜单和“Edit”菜单。使用鼠标来选择“Edit”->“Edit Fruit-Apples”菜单项将调用服务器“MyServer”的进程“EditApples”,此进程同样将可被键入“e”->“a”调用,或键入Alt-E, “e”, “a”来调用。

“//”符号是笔者为了使易读加上的,实际请去除“//”符号和其后说明内容。

MENU 'MyServerMenu'

BEGIN

POPUP '&File {F}'//文件菜单。

BEGIN

MENUITEM '&New'Client:CreateNewDocument

MENUITEM '&Open...'Client:OpenDocument

MENUITEM 'Open Pro&ject...' Client:OpenProject

MENUITEM '&Close'Client:CloseDocument

MENUITEM 'Close Projec&t'Client:CloseProject

MENUITEM SEPARATOR

MENUITEM '&Save'Client:SaveDocument

MENUITEM 'Save &As...'Client:SaveDocumentAs

MENUITEM 'Save A&ll'Client:SaveAllDocuments

POPUP '&SubMenu1' //子菜单。

BEGIN

MENUITEM '&Item 1'MYSERVER:MyService1

MENUITEM 'I&tem 2'MYSERVER:MyService2

END

MENUITEM SEPARATOR //“-”横线分隔符。

MENUITEM 'E&xit'Client:QuitFromEDAClient

END

POPUP '&Edit' //编辑菜单。

BEGIN

MENUITEM '&Undo\tAlt+BkSp'MYSERVER:DoUndo

MENUITEM '&Redo\tCtrl+BkSp' MYSERVER:DoRedo

MENUITEM SEPARATOR

MENUITEM 'Cu&t\tShift+Del'MYSERVER:DoCut

MENUITEM '&Copy\tCtrl+Ins'MYSERVER:DoCopy

MENUITEM '&Paste\tShift+Ins' MYSERVER:DoPaste

MENUITEM 'C&lear\tCtrl+Del' MYSERVER:DoClear

MENUITEM SEPARATOR

POPUP '&Edit Fruit {E}'//子菜单,E是快捷键。

BEGIN

MENUITEM '&Apples'MYSERVER:EditApples

//表示调用MYSERVER服务器中的EditApples进程,A是快捷键。

MENUITEM '&Oranges'MYSERVER:EditOranges

MENUITEM '&Pears'MYSERVER:EditPears

END

END

END

·例子2

Client99SE.Rcs文件内容,此文件能在Protel 99 SE的安装目录中System子目录下找到,此文件是在Protel 99 SE没有打开任何文档时,显示的菜单。您可以启动Protel 99 SE对一下,看是不是这样的。

Menu 'NoDocument'//菜单名称为NoDocument

Begin

Popup '&File {F}'//文件菜单。

Begin

MenuItem '&New'CreateNewDocument

MenuItem '&Open...'OpenDocument

MenuItem SEPARATOR

MenuItem 'E&xit'QuitFromEDAClient

End

Popup '&View {V}'//视图菜单。

Begin

MenuItem 'Design &Manager'ToggleDocumentManager

MenuItem '&Status Bar'ToggleClientStatusBar

MenuItem 'Command Status'ToggleProcessStatusBar

End

Popup '&Help {H}'//帮助菜单。

Begin

MenuItem '&Contents''Client:RunHelpTopic(FileName=\Help\Protel.hlp|Topic=contents)'

MenuItem SEPARATOR

Popup 'Help &On'

Begin

MenuItem '&Using the Design Explorer''Client:RunHelpTopic(FileName=\Help\Protel.hlp|Topic=UsingTheDesignExplorer)'

MenuItem '&Creating a New Design''Client:RunHelpTopic(FileName=\Help\Protel.hlp|Topic=CreatingANewDesign)'

MenuItem 'Creating a New &Document or Folder' 'Client:RunHelpTopic(FileName=\Help\Protel.hlp|Topic=NewDocumentDocuments)'

MenuItem '&Working in a Design Window''Client:RunHelpTopic(FileName=\Help\Protel.hlp|Topic=WorkingWithTheDesignWindow)'

MenuItem SEPARATOR

MenuItem '&Managing Design Teams''Client:RunHelpTopic(FileName=\Help\Protel.hlp|Topic=ManagingDesignTeams)'

End

MenuItem '&Shortcut Keys''Client:RunHelpTopic(FileName=\Help\Protel.hlp|Topic=ShortcutKeys)'

MenuItem 'Process &Reference''Client:RunHelpTopic(FileName=\Help\Client.hlp|Topic=contents)'

MenuItem SEPARATOR

MenuItem '&About...'HelpAbout

End

End

//以下定义热键。

HotKeyTable 'NoDocument'

Begin

Key 'Client:RunDesignExplorerSysCommand(Command=NextTab)'TABCtrlEndKey

Key 'Client:RunDesignExplorerSysCommand(Command=PrevTab)'TABShift CtrlEndKey

Key 'Client:RunDesignExplorerSysCommand(Command=NextView)'F6CtrlEndKey

Key 'Client:RunDesignExplorerSysCommand(Command=PrevView)'F6Shift CtrlEndKey

Key 'Client:RunDesignExplorerSysCommand(Command=ToggleFocus)'TABEndKey

Key 'Client:RunDesignExplorerSysCommand(Command=ToggleFocus)'TABShiftEndKey

Key Client:CloseDocumentF4CtrlEndKey

Key 'Client:RunDesignExplorerSysCommand(Command=Refresh)'F5EndKey

End

//以下定义工具条。

ToolBar 'NoDocument' 'Fixed Top' 13 1 50 'True' 5000

Begin

Button 'PROJMAN.BMP'Client:ToggleDocumentManager

Button 'FILEOPEN.BMP' Client:OpenDocument

Button 'HELP.BMP''Client:RunHelpTopic(FileName=\Help\Protel.hlp|Topic=Contents)'

End

BMP文件为工具条上各按扭要显示的图形内容,如图1-44:

图1-44 无文档打开时的工具条

0
相关文章