分享
 
 
 

自定义菜单文件

王朝other·作者佚名  2008-05-21
窄屏简体版  字體: |||超大  

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所示。

用户可再次使用“menu”命令,加载AutoCAD主目录“Support”子目录中的“acad.mns”文件来恢复原来的系统菜单。

如果用户希望将自定义的菜单和原来的系统菜单结合起来使用,则可选择菜单【Tools(工具)】→【Customize(自定义)】→【Menus…(菜单)】,系统弹出“MenuCustomization(菜单自定义)”对话框,如图34-5所示。

选择“MenuGroups(菜单组)”选项卡,并单击Browse...按钮选择自定义的“user.mns”菜单文件,然后单击Load...按钮可加载该文件。加载后,在“MenuGroups(菜单组)”列表中将增加用户所定义的菜单组“USER”。

选择“MenuBar(菜单栏)”选项卡,如图34-6所示。在“MenuGroup(菜单组)”下拉列表中选择“USER”项,此时在“Menus(菜单)”列表中将相应地显示出该菜单文件中定义的菜单项“SampleMenu。选择该项后,再选择“MenuBar(菜单栏)”列表中的“Help(帮助)”项,然后单击Insert>>按钮,将“SampleMenu”菜单插入到“Window(窗口)”和“Help(帮助)”之间。

完成上述设置后,单击Close按钮关闭该对话框使用户定义的菜单生效,结果如图34-7所示。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有