自定义菜单文件 |
|
日期:2007-10-16 19:49:04 人气:66 [大 中 小] |
|
|
34.3.1实例1创建新的菜单文件“user.mns” Step1定义菜单组 (1)打开记事本程序,创建一个新的文本文件。 (2)在文件中输入如下代码。 // //SampleMenuFile // ***MENUGROUP=USER 即定义该菜单文件属于“USER”菜单组。 Step2定义辅助菜单 在上一步骤输入的代码后继续输入如下代码: ***AUX2 //Shift button $P0=SHORTCUT$p0=* 该代码定义用户在使用Shift 右键时所调用的快捷菜单“SHORTCUT”。 Step3定义下拉菜单和快捷菜单 在上一步骤输入的代码后继续输入如下代码: ***POP0 **SHORTCUT ID_SM[&SampleMenu] ID_S1[&Polyline\tCtrl 3]^C^C_pline ID_S2[&Array...\tCtrl 4]^C^C_array [--] ID_S3[->SubMenu] ID_S31[SubMenu1]^C^C ID_S32[<-SubMenu2...]^C^C [--] ID_S4[ImageMenu...]$I=USER.IMAGE_MENU$I=USER.* ID_S5[~DisableMenu]^C^C ID_S6[!.CheckedMenu]^C^C ***POP14 **PULL_DOWN ID_SM[&SampleMenu] ID_S1[&Polyline\tCtrl 3]^C^C_pline ID_S2[&Array...\tCtrl 4]^C^C_array [--] ID_S3[->SubMenu] ID_S31[SubMenu1]^C^C ID_S32[<-SubMenu2...]^C^C [--] ID_S4[ImageMenu...]$I=USER.IMAGE_MENU$I=USER.* ID_S5[~DisableMenu]^C^C ID_S6[!.CheckedMenu]^C^C 注意上两部分代码分别定义了快捷菜单“SHORTCUT”和下拉菜单“PULL_DOWN”,这两部分定义的菜单项完全一样,不同之间仅在于菜单名称。 这部分定义的菜单分别给出了菜单的加速键、级联子菜单以及菜单项的显示控制等功能的定义。 Step4定义工具栏 在上一步骤输入的代码后继续输入如下代码: ***TOOLBARS **TB_USER1 ID_TbUser1[_Toolbar("UserToolbars1",_Floating,_Show,100,100,1)] ID_Pline[_Button("Polyline","ICON_16_PLINE","ICON_16_PLINE")]^C^C_pline ID_Array[_Button("Array","ICON_16_ARRREC","ICON_16_ARRREC")]^C^C_array ID_Image[_Button("Image",user16.bmp,user32.bmp)]$I=USER.IMAGE_MENU $I=USER.* **TB_USER2 ID_TbUser2[_Toolbar("UserToolbars2",_Floating,_Show,200,100,1)] ID_Flyout[_Flyout("Flyout","ICON_16_PLINE","ICON_16_PLINE", _OtherIcon,USER.TB_USER1)] [--] [_Control(_Color)] [--] [_Control(_Layer)] 以上代码定义了两个工具栏“TB_USER1”和“TB_USER2”。工具栏“TB_USER1”中包括三个按钮“Polyline”、“Array”和“Image”,其中“Image”按钮的图标资源为用户创建的两个位图文件“user16.bmp”和“user32.bmp”,并保存在AutoCAD的库搜索路径中。 工具栏“TB_USER2”中引用“TB_USER1”来定义了一个弹出式工具栏,同时还定义了两个控件“Color”和“Layer”。 Step5定义图像控件菜单 在上一步骤输入的代码后继续输入如下代码: ***IMAGE **IMAGE_MENU [NutImage] [user(s1)]^C^C [user(s2)]^C^C [user(s3)]^C^C [user(s4)]^C^C [user(s5)]^C^C [user(s6)]^C^C 以上代码定义了一个图像控件菜单,其中所用到的幻灯片和幻灯片库的创建,请参见第31章。由于该定义仅出于演示的目的,因此并没有给出具体的命令序列,用户可根据需要来添加。 Step6定义屏幕菜单 在上一步骤输入的代码后继续输入如下代码: ***SCREEN **S [MianMenu]^C^C^P(ai_rootmenus)^P [Polyline]^C^C_pline [Array...]^C^C_array [SubMenu]$S=USER.SUBMENU [ImageMenu...]$I=USER.IMAGE_MENU$I=USER.* **SUBMENU2 [PrevMenu]$S= [SubMenu1]^C^C [SubMenu2]^C^C 以上代码定义了带有子菜单的屏幕菜单。 Step7定义加速键 在上一步骤输入的代码后继续输入如下代码: ***ACCELERATORS ID_S1[CONTROL "3"] ID_S2[CONTROL "4"] ["NUMPAD5"]@x^h ["NUMPAD6"]<0 ["NUMPAD9"]<45 ["NUMPAD8"]<90 ["NUMPAD7"]<135 ["NUMPAD4"]<180 ["NUMPAD1"]<-135 ["NUMPAD2"]<-90 ["NUMPAD3"]<-45 以上代码中除了定义“Pline”命令和“Array”的快捷键以外,还定义了扩展坐标输入,即数字键区作如下修改:5键输入@符号,其他数字键输入小于号(<)和该键位置在数字键区中表示的角度值。这样用户来输入相对极坐标时可利用数字键快速输入,例如极坐标:@50<45,用户只需按数字键区的5键、数字“50”和数字键区的9键即可。 Step8定义菜单帮助 在上一步骤输入的代码后继续输入如下代码: ***HELPSTRINGS ID_S1[Createsa2Dpolyline] ID_S2[Createsmultiplecopiesofobjectsinapattern] ID_S31[Thesample1forSubMenu] ID_S32[Thesample2forSubMenu] ID_S4[ThesampleforImeageMenu] ID_S5[ThesampleforDisableMenu] ID_S6[ThesampleforCheckedMenu] 以上代码给出了每个菜单项相应的提示。 Step9保存文件 以“user.mns”为名保存该文件。 说明AutoCAD命令前加“_”是为了语言的兼容性。 34.3.2自定义菜单文件的使用 用户编写的菜单文件“USER.MNU”是文本文件。首次使用该菜单文件时,AutoCAD会对其进行编译,编译后生成可被直接使用的二进制菜单文件“USER.MNC”。加载菜单文件的命令如下: 命令行:menu 调用该命令后,系统弹出“SelectMenuFl1e(选择菜单文件)”对话框。在该对话框中,指定打开文件类型为“MenuTemplate(*.MNU)”项,再选择要加载的“USER.MNU”文件,结果如图34-4所示。 |
|
我有问题,我要进入论坛 |
出处:本站原创 作者:佚名 | |
|