|
发表于 2009-5-24 12:36:00
|
显示全部楼层
转载论坛老师的源码,可以用在2006版本以上共同借鉴,希望老师不要介意,如果不允许,我会道歉
//加载局部菜单
bool LoadPartialMenu(
const char* filePath //局部菜单文件名
, const char* menuGroupName //局部菜单组名
)
{
resbuf pSrcRb;
resbuf* pDestRb = NULL;
if (acedGetVar("FILEDIA", &pSrcRb) != RTNORM) return false;
if ((pDestRb = acutBuildList(RTSHORT, 0, RTNONE)) == NULL) return false;
//不显示对话框,改为命令行
if (acedSetVar("FILEDIA", pDestRb) != RTNORM) {
acutRelRb(pDestRb);
return false;
}
acutRelRb(pDestRb);
//加载菜单
if (acedCommand(RTSTR, "menuload", RTSTR, filePath, 0) != RTNORM) {
acedSetVar("FILEDIA", &pSrcRb);
return false;
}
//加载局部菜单完毕,恢复原始状态
acedSetVar("FILEDIA", &pSrcRb);
//显示局部菜单
char menuCmd[512];
sprintf(menuCmd, "GACAD.HELP=+%s.POP%d", menuGroupName,13);
acedMenuCmd(menuCmd);
sprintf(menuCmd, "GACAD.HELP=+%s.POP%d", menuGroupName,14);
acedMenuCmd(menuCmd);
return true;
} |
|