找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 404|回复: 7

[求助]:如何在AutoCAD中加载自己的菜单后不影响AutoCAD本身

[复制链接]
发表于 2005-5-23 11:11:41 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
一个exe应用程序,启动后自动加载相应的ARX文件和自己定义的菜单及其他设置,退出该程序,重新启动acad.exe的时候,菜单变成我自己定义的菜单了。求教如何在退出原程序时恢复AutoCAD的系统设置。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2005-5-23 17:18:41 | 显示全部楼层
1、自定义菜单,请使用局部菜单。
2、该菜单的加载和卸载都要改注册表。
3、具体改什么地方,你可以对比一下你加载前后的注册表内容(当然是autocad键下的)。
补充:现在论坛里讨论的工具条菜单对cad好像没什么影响吧?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-5-23 21:13:29 | 显示全部楼层
kk,找到主的hMenu,然后随便往里加,我这么干。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-5-24 12:37:16 | 显示全部楼层
说细点好吗
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-5-24 21:56:44 | 显示全部楼层
BOOL filterMouse(MSG* pMsg){
  if(pMsg->message == WM_RBUTTONUP){
    long count = gCons.size();
    for(long i=0; i<count; i++){
      gCons->EventNotify_("MouseRightDown", NULL);      
      ::SendMessage(adsw_acadDocWnd(), WM_KEYDOWN, 27, 65537);
      ::SendMessage(adsw_acadDocWnd(), WM_CHAR, 27, 65537);
      ::SendMessage(adsw_acadDocWnd(), WM_KEYUP, 27, -1073676287);
    }
  }else if(pMsg->message == WM_COMMAND){
    if(LOWORD(pMsg->wParam) == 54321){
      if(pLeft){
        pLeft->EventNotify_("54321", NULL);
      }
    }
  }
  return FALSE;
}  


void _setMenu(){
    CAcModuleResourceOverride resOver;
    gBmp.LoadBitmap(MAKEINTRESOURCE(IDB_BITMAP2));
    acutPrintf("hbitmap:%i\r\n", (HBITMAP)gBmp);
    HWND hWnd = adsw_acadMainWnd();
    HMENU hMenu = ::GetMenu(hWnd);
    if(hMenu){
      acutPrintf("get Menu ok\r\n");
      MENUITEMINFO menuInfo;
      char pMenuText[] = "隐藏工具窗";
      memset(&menuInfo, 0, sizeof(MENUITEMINFO));
      menuInfo.cbSize = sizeof(MENUITEMINFO);
      menuInfo.fMask = 0x80|0x40|MIIM_ID;
      menuInfo.fType = MFT_STRING;  
      menuInfo.wID = 54321;
      menuInfo.hbmpItem = (HBITMAP)gBmp;
      menuInfo.dwTypeData = pMenuText;      
      menuInfo.cch = strlen(pMenuText);
      
            
      BOOL backNum = ::InsertMenuItem(hMenu, 54321, FALSE, &menuInfo);
      if(backNum){
        backNum = ::DrawMenuBar(hWnd);
        if(backNum){
          acutPrintf("draw menu ok\r\n");
        }
      }
    }
  }
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-6-14 01:16:39 | 显示全部楼层
编辑一个菜单文件,然后加载
不过我不知道怎么加载.
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-8-18 16:58:42 | 显示全部楼层
在退出程序中通过AcApProfileManager类的相关函数去从新将原来的CAD配置文件置为当前的配置文件,这样在下次启动时就不会有麻烦了。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-8-18 17:28:36 | 显示全部楼层
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2024-9-22 20:18 , Processed in 0.399728 second(s), 43 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表