路边 发表于 2005-7-29 14:30:00

请帮忙:为什么不能在屏幕上选取??

<P>请帮忙:为什么不能在屏幕上选取??</P>
<P>程序如下:</P>
<P>Sub lyl()<BR>UserForm1.show<BR>End Sub</P>
<P>在CAD中插入一个窗体(UserForm1),在窗体上添加一个命令(CommandButton1)按钮,双击填写如下代码</P>
<P>Private Sub CommandButton1_Click()<BR>Dim sset As AcadSelectionSet '定义选择集对象<BR>Dim element As AcadEntity '定义选择集中的元素对象<BR>On Error Resume Next<BR>ThisDrawing.SelectionSets("ss1").Delete<BR>Set sset = ThisDrawing.SelectionSets.Add("ss1") '新建一个选择集<BR>sset.ThisDrawing.SelectOnScreen '提示用户选择<BR>For Each element In sset '在选择集中进行循环<BR>&nbsp; element.Color = acGreen '改为绿色<BR>Next<BR>sset.Delete '删除选择集<BR>ThisDrawing.SelectionSets("Objs").Delete</P>
<P>Dim FType(2) As Integer&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ' ※ 选择过滤器的类型代码<BR>Dim FData(2) As Variant&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ' ※ 选择过滤器的值<BR>' ※ 给定选择过滤器类型代码<BR>FType(0) = -4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ' ※ 条件组合码<BR>FType(1) = 0<BR>FType(2) = -4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ' ※ 条件组合码<BR>' ※ 给定选择过滤器值为可以生成面域的图元类型<BR>FData(0) = "&lt;Or"&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ' ※ 类型集合起点<BR>FData(1) = "LWPolyLine"&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ' ※多端线<BR>FData(2) = "Or&gt;"&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ' ※ 类型集合终点<BR>' ※ 选择图元<BR>Set Selects = ThisDrawing.SelectionSets.Add("Objs")<BR>Selects.SelectOnScreen FType, FData&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</P>
<P>sset.Delete '删除选择集</P>
<P>End<BR>End Sub</P>
<P>运行后为什么不能在屏幕上选取对象,而不加窗体却能选取对象,我需要用到窗体,怎样解决这个问题???</P>
<P>怎样加窗体在屏幕上选取对象??</P>

路边 发表于 2005-7-29 14:31:00

请各位兄台帮忙,指点!!!谢谢!!!

gyl 发表于 2005-7-29 17:40:00

<P>选择前隐藏窗口,选择后再显示窗口.</P>

mikewolf2k 发表于 2005-7-29 19:16:00

<P>me.hide</P>
<P>sset.ThisDrawing.SelectOnScreen '提示用户选择<BR></P>
页: [1]
查看完整版本: 请帮忙:为什么不能在屏幕上选取??