明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2393|回复: 9

[求助][讨论]如何阻止特定命令的执行?

[复制链接]
发表于 2010-7-22 00:17:00 | 显示全部楼层 |阅读模式
我显示了一个模式对话框,点击对话框上一个按钮之后,用Hide()方法将其隐藏,这时要求只能执行Zoom和Pan命令,不能执行任何其他命令(如Move、Line之类),若执行其他命令,则立即将其终止并将对话框重新显示出来。在CommandWillStart 事件中可以检查到命令的种类,但我不知道如何取消命令。请问如何才能阻止其他命令的执行?此外,我还想在用户按ESC键之后结束对话框的隐藏状态重新显示出来,请问如何知道用户按了ESC键
发表于 2010-7-22 06:47:00 | 显示全部楼层
 楼主| 发表于 2010-7-24 22:04:00 | 显示全部楼层
那怎么知道用户按了ESC键啊?窗体隐藏之后,其键盘事件好像无法触发了。
发表于 2010-7-24 22:26:00 | 显示全部楼层
 楼主| 发表于 2010-7-25 01:08:00 | 显示全部楼层

感觉这些方法比较复杂,有没有简单的实现办法?只要达到下列目的即可:

在隐藏模式对话框之后只能进行视图操作,按ESC键后重新显示隐藏的模式对话框。

 楼主| 发表于 2010-7-25 20:45:00 | 显示全部楼层
lzh741206发表于2010-7-24 22:26:00http://bbs.mjtd.com/forum.php?mod=viewthread&tid=76191&star=1#11629  

这种方法在AutoCA2008中不能使用,Application没有提供PreTranslateMessage事件。

发表于 2010-7-25 22:28:00 | 显示全部楼层

为什么不把窗体隐藏-zoom/pan-窗体显示做在一个命令里?

我记得Utils提供了zoom/pan的功能的?

 楼主| 发表于 2010-7-26 14:18:00 | 显示全部楼层
我的意思是在模式对话框隐藏之后,只能对图形进行浏览(可以随意、任意次数的缩放和平移视图,直到用户看够了为止),但不能对图元进行任何增、删、改的操作,然后按ESC键让隐藏的对话框再显示出来。我不知道在一个命令里面如何实现这些要求。
发表于 2010-7-26 15:59:00 | 显示全部楼层
简单的例子,你试下吧
  1.         [CommandMethod("tt5")]
  2.         public static void test25()
  3.         {
  4.             Document doc = Application.DocumentManager.MdiActiveDocument;
  5.             Editor ed = doc.Editor;
  6.             Application.ShowAlertDialog("hello!");
  7.             PromptKeywordOptions opts = new PromptKeywordOptions("请检查图形[结束(End)]", "E");
  8.             PromptResult res = ed.GetKeywords(opts);
  9.             while (res.Status != PromptStatus.OK && res.Status != PromptStatus.Cancel)
  10.             {
  11.                 res = ed.GetKeywords(opts);
  12.             }
  13.             Application.ShowAlertDialog("End!");
  14.         }
复制代码
发表于 2012-3-20 17:02:12 | 显示全部楼层
问题解决了吗?
最好是模式对话框隐藏之后,执行实时zoom,然后返回。这个不知有没有办法做到。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-25 19:45 , Processed in 0.176116 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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