乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 66|回复: 5

原生包装

[复制链接]

27

主题

193

帖子

5

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
300
发表于 2010-2-24 23:38:50 | 显示全部楼层 |阅读模式
仍然有很多事情要做,但我已经到了可以炫耀的地步
  1. static void RxlRxLib_doit(void)
  2.   {
  3.     CPromptStringOptions promptStringOptions(_T("\nGet String"));
  4.     promptStringOptions.UseDefaultValue = true;
  5.     promptStringOptions.DefaultValue = _T("default");
  6.     CPromptResult promptStringResult;
  7.     CEditor::GetString( promptStringResult,promptStringOptions);
  8.     if(promptStringResult.Status == Acad::eNormal)
  9.     {
  10.       acutPrintf(promptStringResult.StringResult);
  11.     }
  12.     else
  13.     {
  14.       acutPrintf(_T("\nError: %s"),
  15.         CRxTrace::PromptSatusText(promptStringResult.Status));
  16.     }
  17.   }
  1. tatic void RxlRxLib_doit(void)
  2.   {
  3.     CPromptDoubleOptions promptDoubleOptions(_T("\nEnter number"));
  4.     promptDoubleOptions.UseDefaultValue = true;
  5.     promptDoubleOptions.DefaultValue = 8.345;
  6.     promptDoubleOptions.AllowArbitraryInput = false;
  7.     promptDoubleOptions.AllowZero = false;
  8.     promptDoubleOptions.UseRange = true;
  9.     promptDoubleOptions.setRange(0.5,10.0);
  10.     promptDoubleOptions.Keywords.AddKeyWord(_T("Dan"));
  11.     promptDoubleOptions.Keywords.AddKeyWord(_T("Is"));
  12.     promptDoubleOptions.Keywords.AddKeyWord(_T("Cool"));
  13.     promptDoubleOptions.Keywords.AddKeyWord(_T("Right"));
  14.     CPromptDoubleResult promptDoubleResult;
  15.     CEditor::GetDouble(promptDoubleResult,promptDoubleOptions);
  16.     if(promptDoubleResult.Status == Acad::eNormal)
  17.     {
  18.       acutPrintf(_T("\nResult Number %g"),promptDoubleResult.Double);
  19.     }
  20.     else if(promptDoubleResult.Status == Acad::eKeyword)
  21.     {
  22.       acutPrintf(_T("\nResult String %s"),promptDoubleResult.StringResult);
  23.     }
  24.     else
  25.     {
  26.       acutPrintf(_T("\nError: %s"),
  27.         CRxTrace::PromptSatusText(promptDoubleResult.Status));
  28.     }
  29.   }


fow2fmhjmtr.PNG

fow2fmhjmtr.PNG


n5ltd4ixcpz.PNG

n5ltd4ixcpz.PNG

本帖以下内容被隐藏保护;需要你回复后,才能看到!

游客,如果您要查看本帖隐藏内容请回复
回复

使用道具 举报

116

主题

996

帖子

9

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1466
发表于 2010-2-24 23:49:26 | 显示全部楼层

我不介意我再也不用将ads_name转换为objectid
  1. static void RxlRxLib_getEnt(void)
  2.   {
  3.     CPromptEntityResult result;
  4.     CEditor::GetEntity(result, _T("\nSelect Entity: "));
  5.     if(result.Status != Acad::eNormal)
  6.     {
  7.       CRxTrace::PrintStatus(result.Status, _T("Select Failed"));
  8.       return;
  9.     }
  10.     AcDbEntityPointer pEnt(result.ObjectId,AcDb::kForRead);
  11.     if(pEnt.openStatus() != Acad::eOk)
  12.     {
  13.       CRxTrace::PrintStatus(pEnt.openStatus(), _T("Select Failed"));
  14.       return;
  15.     }
  16.     acutPrintf(_T("\nLayer is %s") ,pEnt->layer());
  17.   }

回复

使用道具 举报

116

主题

996

帖子

9

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1466
发表于 2010-2-24 23:54:09 | 显示全部楼层
Acad::PromptStatus<br>今天学到了一些新东西
回复

使用道具 举报

116

主题

996

帖子

9

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1466
发表于 2010-2-25 03:19:40 | 显示全部楼层

嘿嘿,很高兴我能帮助
我总是喜欢.NET API将所有acedxxx函数包装成易于使用的格式的方式,像acedNEntSelP这样的函数可能是一个真正的痛苦,必须将所有ads_xxx项转换为它们的Arx等效项。我开始包装一些旧功能,使它们更加用户友好......当,瞧瞧。我发现它已经在ArcDbg中完成了,我只是在改变一些事情。
回复

使用道具 举报

116

主题

996

帖子

9

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1466
发表于 2010-2-25 03:36:18 | 显示全部楼层

那将是ArxDbg,是吗?
回复

使用道具 举报

116

主题

996

帖子

9

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1466
发表于 2010-2-25 03:38:36 | 显示全部楼层

那就是ArxDbg,是吗

是的,谢谢
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-2-5 21:59 , Processed in 0.161900 second(s), 67 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表