利用MFC动态向AutoCAD的菜单栏添加菜单
菜单 it 分类:ObjectARX编程
前面我们介绍过在ObjectARX中通过Com接口向AutoCAD的菜单栏追加菜单,今天我们再提供另外的两种方法,利用Windows窗体的机制直接向AutoCAD主菜单上添加菜单。
(1)在ARX程序的InitApplication函数中,动态创建一个新菜单,将其添加到AutoCAD的主菜单上去:
acedGetAcadFrame()->m_bAutoMenuEnable = FALSE;
CMenu *pMainMenu = acedGetAcadFrame()->GetMenu();
CMenu myMenu;
myMenu.CreatePopupMenu();
myMenu.AppendMenu(MF_STRING, IDM_MYMENU_ITEM1, TEXT("Line"));
pMainMenu->AppendMenu(MF_POPUP, (UINT)myMenu.Detach(), TEXT("Test"));
acedGetAcadFrame()->DrawMenuBar();
注意第一句代码,如果没有这句代码,你的菜单仍然能够显示出来,但是会处于灰色无法点击的状态,这是MFC内部对菜单可用状态提供的一种判断机制;
(2)为了