• c++篇 cad.arx配置5.加入命令


    现在我们需要忘记工具条添加命令的a>方法,因为在高版本的vs上面这个方法已经失效了....

    干净的命令存放区

    现在利用 acrxEntryPoint.cpp 的 On_kInitAppMsg 和 On_kUnloadAppMsg 两个函数添加命令和卸载命令,方便卸载的时候移除命令.

        CString _CommandGroup = "JJBoxArx";
        //自动执行的命令
        virtual AcRx::AppRetCode On_kInitAppMsg(void *pkt)
        {
            AcRx::AppRetCode retCode = AcRxArxApp::On_kInitAppMsg(pkt);
            //添加命令
         acedRegCmds->addCommand(szRDS, _T("_jjarx_ss"), _T("jjarx_ss"), ACRX_CMD_MODAL | ACRX_CMD_USEPICKSET | ACRX_CMD_REDRAW, CJJBoxUtils::jjarx_hatch);
         acedRegCmds->addCommand(szRDS, _T("_jjarx_ss2"), _T("jjarx_ss2"), ACRX_CMD_MODAL | ACRX_CMD_USEPICKSET | ACRX_CMD_REDRAW, jjarx_hatch2);
    return (retCode);
    }
    //卸载的时候执行 
        virtual AcRx::AppRetCode On_kUnloadAppMsg(void *pkt)
        {
            AcRx::AppRetCode retCode = AcRxArxApp::On_kUnloadAppMsg(pkt);
            //移除这个组的所有命令
            acedRegCmds->removeGroup(_CommandGroup);
            return (retCode);
        }
    
        //寄存服务器组件
        virtual void RegisterServerComponents()
        {
        }

    为了让acrxEntryPoint.cpp更单纯的存放命令,所以下面有三种方式写命令.

    第一种:类实现

     在项目使用鼠标右键弹出类向导:

     CJJBoxUtils::jjarx_hatch 的实现

       .h文件

     .cpp文件

    第二种:全局函数

     jjarx_hatch2 的实现:

      新建一个cpp文件,写别的地方去.

    两种方法都很有趣...

    第三种:命名空间法

     

      

    当然是最后一种好用啦,嘻嘻.

  • 相关阅读:
    dpdk 连接错误
    strace 跟踪文件
    鲲鹏服务器 centos 升级gcc + 安装qemu
    centos 升级gcc
    undefined reference to `shm_open'
    Golang与C互用
    [ TIME ] Timed out waiting for device dev-ttyS0.device. [DEPEND] Dependency failed for Serial Getty on ttyS0.
    大型 Web 应用插件化架构探索
    网易游戏基于 Flink 的流式 ETL 建设
    基于WASM的无侵入式全链路A/B Test实践
  • 原文地址:https://www.cnblogs.com/JJBox/p/12825000.html
Copyright © 2020-2023  润新知