您當(dāng)前的位置:主頁(yè)>>AutoCAD>>AutoCAD二次開(kāi)發(fā) |
自定義菜單文件 實(shí)例:創(chuàng)建新的菜單文件“user.mns” Step1 :定義菜單組 (1)打開(kāi)記事本程序,創(chuàng)建一個(gè)新的文本文件。 (2)在文件中輸入如下代碼。 // //SampleMenuFile // ***MENUGROUP=USER 即定義該菜單文件屬于“USER”菜單組。 Step2 :定義輔助菜單 在上一步驟輸入的代碼后繼續(xù)輸入如下代碼: ***AUX2 //Shift button $P0=SHORTCUT$p0=* 該代碼定義用戶在使用Shift 右鍵時(shí)所調(diào)用的快捷菜單“SHORTCUT”。 Step3 :定義下拉菜單和快捷菜單 在上一步驟輸入的代碼后繼續(xù)輸入如下代碼: ***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”,這兩部分定義的菜單項(xiàng)完全一樣,不同之間僅在于菜單名稱(chēng)。 這部分定義的菜單分別給出了菜單的加速鍵、級(jí)聯(lián)子菜單以及菜單項(xiàng)的顯示控制等功能的定義。 Step4 :定義工具欄 在上一步驟輸入的代碼后繼續(xù)輸入如下代碼: ***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)] 以上代碼定義了兩個(gè)工具欄“TB_USER1”和“TB_USER2”。工具欄“TB_USER1”中包括三個(gè)按鈕“Polyline”、“Array”和“Image”,其中“Image”按鈕的圖標(biāo)資源為用戶創(chuàng)建的兩個(gè)位圖文件“user16.bmp”和“user32.bmp”,并保存在 AutoCAD 的庫(kù)搜索路徑中。 工具欄“TB_USER2”中引用“TB_USER1”來(lái)定義了一個(gè)彈出式工具欄,同時(shí)還定義了兩個(gè)控件“Color”和“Layer”。 Step5 :定義圖像控件菜單 在上一步驟輸入的代碼后繼續(xù)輸入如下代碼: ***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 以上代碼定義了一個(gè)圖像控件菜單,其中所用到的幻燈片和幻燈片庫(kù)的創(chuàng)建,請(qǐng)參見(jiàn)第31章。由于該定義僅出于演示的目的,因此并沒(méi)有給出具體的命令序列,用戶可根據(jù)需要來(lái)添加。 Step6 :定義屏幕菜單 在上一步驟輸入的代碼后繼續(xù)輸入如下代碼: ***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 :定義加速鍵 在上一步驟輸入的代碼后繼續(xù)輸入如下代碼: ***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”的快捷鍵以外,還定義了擴(kuò)展坐標(biāo)輸入,即數(shù)字鍵區(qū)作如下修改:5鍵輸入@符號(hào),其他數(shù)字鍵輸入小于號(hào)(<)和該鍵位置在數(shù)字鍵區(qū)中表示的角度值。這樣用戶來(lái)輸入相對(duì)極坐標(biāo)時(shí)可利用數(shù)字鍵快速輸入,例如極坐標(biāo):@50<45,用戶只需按數(shù)字鍵區(qū)的5鍵、數(shù)字“50”和數(shù)字鍵區(qū)的9鍵即可。 Step8 :定義菜單幫助 在上一步驟輸入的代碼后繼續(xù)輸入如下代碼: ***HELPSTRINGS ID_S1[Createsa2Dpolyline] ID_S2[Createsmultiplecopiesofobjectsinapattern] ID_S31[Thesample1forSubMenu] ID_S32[Thesample2forSubMenu] ID_S4[ThesampleforImeageMenu] ID_S5[ThesampleforDisableMenu] ID_S6[ThesampleforCheckedMenu] 以上代碼給出了每個(gè)菜單項(xiàng)相應(yīng)的提示。 Step9 :保存文件 以“user.mns”為名保存該文件。 說(shuō)明AutoCAD命令前加“_”是為了語(yǔ)言的兼容性。 34.3.2自定義菜單文件的使用 用戶編寫(xiě)的菜單文件“USER.MNU”是文本文件。首次使用該菜單文件時(shí),AutoCAD會(huì)對(duì)其進(jìn)行編譯,編譯后生成可被直接使用的二進(jìn)制菜單文件“USER.MNC”。加載菜單文件的命令如下: 命令行:menu 調(diào)用該命令后,系統(tǒng)彈出“SelectMenuFl1e(選擇菜單文件)”對(duì)話框。在該對(duì)話框中,指定打開(kāi)文件類(lèi)型為“MenuTemplate(*.MNU)”項(xiàng),再選擇要加載的“USER.MNU”文件,結(jié)果如圖34-4所示。 用戶可再次使用“menu”命令,加載AutoCAD主目錄“Support”子目錄中的“acad.mns”文件來(lái)恢復(fù)原來(lái)的系統(tǒng)菜單。 如果用戶希望將自定義的菜單和原來(lái)的系統(tǒng)菜單結(jié)合起來(lái)使用,則可選擇菜單【Tools(工具)】→【Customize(自定義)】→【Menus…(菜單)】,系統(tǒng)彈出“MenuCustomization(菜單自定義)”對(duì)話框,如圖34-5所示。 選擇“MenuGroups(菜單組)”選項(xiàng)卡,并單擊Browse...按鈕選擇自定義的“user.mns”菜單文件,然后單擊Load...按鈕可加載該文件。加載后,在“MenuGroups(菜單組)”列表中將增加用戶所定義的菜單組“USER”。 選擇“MenuBar(菜單欄)”選項(xiàng)卡,如圖34-6所示。在“MenuGroup(菜單組)”下拉列表中選擇“USER”項(xiàng),此時(shí)在“Menus(菜單)”列表中將相應(yīng)地顯示出該菜單文件中定義的菜單項(xiàng)“SampleMenu。選擇該項(xiàng)后,再選擇“MenuBar(菜單欄)”列表中的“Help(幫助)”項(xiàng),然后單擊Insert>>按鈕,將“SampleMenu”菜單插入到“Window(窗口)”和“Help(幫助)”之間。 完成上述設(shè)置后,單擊Close按鈕關(guān)閉該對(duì)話框使用戶定義的菜單生效,結(jié)果如圖34-7所示。 |
民眾工作室.制作 版權(quán)所有 |