mikewolf2k 发表于 2004-2-23 18:48:00

求教两种效果的vba实现方法.

1.类似"fillet"命令,执行到“Select first object or :”时,既可以直接选择图元,也可以输入关键字符进行设置,请问在vba中怎样实现这种功能?对于用户输入的设置值,例如radius,怎样保存,使其在cad打开期间均有效?(不写入外部文件,在内存中储存)


2.建立选择集时如何从PickfirstSelectionSet内筛选?<BR>欲实现先选择、后执行的方式,如何从屏幕上已选图元中筛选得到自己所需的选择集?<BR><BR>

topirol 发表于 2004-2-24 08:22:00

1、设关键字,判断用户的输入的关键字,然后作出相应的事情就可以了,要保存上次输入的值可以通过注册表来存取


2、好像前面的帖子有说过了

mikewolf2k 发表于 2004-2-24 19:17:00

1.vba中的的getxxx语句,好像要么是获得通过鼠标在屏幕中选择的图元,要么是获得键盘输入的字符,不知道怎样才能以上两种方式同时接受,既能用鼠标选择图元,也可以键盘输入关键字.关于用户设置值,惭愧,不会用操作注册表.vb能不能设置一个变量,在该vb程序执行完后还能保存在内存中,下次执行程序还能访问?或者acad有没有什么保留的系统变量或一般无用的变量,把用户设置值保存在这里面?


2.能不能说具体一点,我一点印象也没有.


谢谢.

mikewolf2k 发表于 2004-3-1 19:41:00

再顶一顶.第二个问题已经自己摸出来了,第一个问题还在摸索中.......

mccad 发表于 2004-3-1 19:47:00

http://www.mjtd.com/object/acad2004/ex_getinput.htm

mikewolf2k 发表于 2004-3-2 18:42:00

看过了,在点选图元时可以实现,如果我要框选又如何做呢?

mccad 发表于 2004-3-2 21:32:00

框选是选择集的方法了,不能使用该方法。

my_computer 发表于 2004-3-3 09:28:00

存值有个简单的办法,可以实现,在不同的程序间调用,甚至可以跨越,不同的软件。


方法是:


‘声明dataobject需要程序中有窗体。


Dim DataObj As DataObject


'写数值<BR>DataObj.SetText "ddd", "MyFormat"


’取数值<BR>Dim Str As String<BR>Str = DataObj.GetFormat("MyFormat")

mikewolf2k 发表于 2004-3-3 19:49:00

谢谢,试试看
页: [1]
查看完整版本: 求教两种效果的vba实现方法.