明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 3668|回复: 7

acedssget如何执行其他选项

[复制链接]
发表于 2013-11-14 12:30:43 | 显示全部楼层 |阅读模式
acedssget如何象acedgetpoint那样输入关键字执行其他操作。
发表于 2013-11-14 13:10:26 | 显示全部楼层
直接实现不知道,可以用如下形式思路代替吧(不一定要用 acedGetReal)
不知道是不是你需要的
                double nReturn_=0;
                int Re = acedGetReal(_T("\n输入1。。。输入2。。。输入3。。。"), &nReturn_);
                if((nReturn_>0))//正常输入返回值不为0(空格,0)
                {
                        if (nReturn_==1)
                        {
                                  acedssget。。。。。。。。。。。。。。。。。。。。。。。
                        }
                        else
                        {
                                  acedssget。。。。。。。。。。。。。。。。。。。。。。。
                        }

                }else//空格或esc键
                {
                        acutPrintf(_T("\n用户取消操作或输入数据无效"));
                }
 楼主| 发表于 2013-11-14 15:00:48 来自手机 | 显示全部楼层
风树 发表于 2013-11-14 13:10  直接实现不知道,可以用如下形式思路代替吧(不一定要用 acedGetReal)  不知道是不是你需要的  double n ...

acedssget有个“:k”模式支持键盘输入,我不知道如何获得这个键盘输入的字符串,e文帮助看不懂,又没有中文例子。
发表于 2013-11-15 20:30:26 | 显示全部楼层
zdqwy19 发表于 2013-11-14 15:00
acedssget有个“:k”模式支持键盘输入,我不知道如何获得这个键盘输入的字符串,e文帮助看不懂,又没有中 ...

:k是关键字模式,:?是接受除关键字和自带关键字外其它字符串,:k模式在调用前要使用acedSSSetKwordCallbackPtr为它设置回调函数,:?模式在调用前要使用acedSSSetOtherCallbackPtr为它设置回调函数,:k:?可组合使用。
 楼主| 发表于 2013-11-16 00:27:22 | 显示全部楼层

RE: acedssget如何执行其他选项

wwwliuyu 发表于 2013-11-15 20:30
:k是关键字模式,:?是接受除关键字和自带关键字外其它字符串,:k模式在调用前要使用acedSSSetKwordCallba ...

给一段代码实例好吗!假如我设置了字母O为关键字,如何判断我输入的字母是不是字母O,是执行一个提示,不是继续选择。
发表于 2013-11-16 09:32:37 | 显示全部楼层
zdqwy19 发表于 2013-11-16 00:27
给一段代码实例好吗!假如我设置了字母O为关键字,如何判断我输入的字母是不是字母O,是执行一个提示,不 ...

  1. <P>void Test()
  2. {
  3. // 保存旧的回调函数
  4. resbuf* (*oldFunc) (const ACHAR*);
  5. acedSSGetKwordCallbackPtr(&oldFunc);
  6. // 设置新的回调函数
  7. acedSSSetKwordCallbackPtr(ssCallback);
  8. ads_name ss;
  9. ACHAR kwordlist[] = { _T("O _ O") };
  10. if (RTNORM == acedSSGet(_T("_:K"), NULL, kwordlist, NULL, ss))
  11.   acedSSFree(ss);
  12. acedSSSetKwordCallbackPtr(*oldFunc);
  13. }
  14. //回调函数,必须是全局或是静态的。
  15. resbuf* ssCallback(const TCHAR* kword)
  16. {
  17. acutPrintf(_T("\n你输入了关键字: '%s'"), kword);
  18. resbuf *result = NULL;
  19. return result;
  20. }</P>
复制代码
 楼主| 发表于 2013-11-16 13:04:56 | 显示全部楼层

RE: acedssget如何执行其他选项

wwwliuyu 发表于 2013-11-16 09:32

谢谢了!试验成功。
发表于 2015-3-21 17:49:59 | 显示全部楼层
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-11-25 06:50 , Processed in 0.162141 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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