天气与日历 切换到窄版

 找回密码
 立即注册
中国膜结构网
十大进口膜材评选 十大国产膜材评选 十大膜结构设计评选 十大膜结构公司评选
查看: 62|回复: 0

Arx的例子就有点不一样了,任何版本都有AddCommand函数,触发...

[复制链接]

该用户从未签到

主题

0

回帖

2912

积分

管理员

积分
2912
发表于 2024-6-22 09:46:18 | 显示全部楼层 |阅读模式
//256个颜色命令
namespace JJBox命令 {
    //获取变量
    void GetVar(CString command, CString* sCmd)
    {
        struct resbuf var;
        acedGetVar(command, &var);
        //通过指针的方式存入内容
        (*sCmd).Append(var.resval.rstring);
    }

    //颜色命令最后都会调用到这个组
    void sk_ChColor()
    {
        CString sCmd;
        GetVar(_T("CMDNAMES"), &sCmd);//获取是什么数字触发的.

        if (sCmd == "")
        {
            return;
        }
        int nColor = _ttoi(sCmd);
        if (nColor < 0 || nColor > 256)
        {
            return;
        }
        ads_name ss;
        int nRet = acedSSGet(NULL, NULL, NULL, NULL, ss);
        if (RTCAN == nRet)//取消
        {
            return;
        }
        if (RTNORM != nRet)//回车
        {
            //设置默认颜色
            AcCmColor col;
            col.setColorIndex(nColor);
            acdbHostApplicationServices()->workingDatabase()->setCecolor(col);
        }

        Adesk::Int32 nSSLenght = 0;
        acedSSLength(ss, &nSSLenght);
        for (int i = 0; i < nSSLenght; i++)
        {
            ads_name ent;
            AcDbObjectId objId;
            acedSSName(ss, i, ent);
            acdbGetObjectId(objId, ent);
            AcDbEntityPointer pEnt(objId, AcDb::kForWrite);
            if (Acad::eOk != pEnt.openStatus())
            {
                continue;
            }
            pEnt->setColorIndex(nColor);
        }
    }

    //由于是顺序编译,所以这里的命令定义只能够放最下面
    //定义颜色命令
    void jjarx_AddCommands()
    {
        for (int i = 0; i <= 256; i++)
        {
            CString strCmdName;
            strCmdName.Format(_T("%d"), i);
            acedRegCmds->addCommand(_T("sk_ChColor"), strCmdName, strCmdName, ACRX_CMD_TRANSPARENT | ACRX_CMD_USEPICKSET, sk_ChColor);
        }
    }
}

 

 

 

 

Arx的例子就有点不一样了,任何版本都有AddCommand函数,触发...
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|中国膜结构网|中国膜结构协会|进口膜材|国产膜材|ETFE|PVDF|PTFE|设计|施工|安装|车棚|看台|污水池|中国膜结构网_中国空间膜结构协会

GMT+8, 2024-11-1 10:34 , Processed in 0.193977 second(s), 26 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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