kennethxie 发表于 2004-6-28 16:36:00

选择集里好像默认的是256个对象,如果超过的部分怎么办呢?

雪山飞狐_lzh 发表于 2004-6-28 22:10:00

?没有这回事吧,我画了4000多个实体(直线和圆),下面的测试代码都选中了呀


Sub df()<BR>Dim ss1 As AcadSelectionSet<BR>Dim ss2 As AcadSelectionSet<BR>Dim ft(0) As Integer, fd(0)<BR>Set ss1 = ThisDrawing.SelectionSets.Add("*Tls1*")<BR>Set ss2 = ThisDrawing.SelectionSets.Add("*Tls2*")<BR>ss1.Select acSelectionSetAll<BR>ft(0) = 0: fd(0) = "Line"<BR>ss2.Select acSelectionSetPrevious, , , ft, fd


MsgBox ss2.Count


ss1.Delete<BR>ss2.Delete<BR>End Sub

kennethxie 发表于 2004-6-30 15:42:00

斑竹,我试过了,在监视窗口里面默认只监视256个Item,其实是不限数目的。谢谢你的指导,我已经完成了这部分的开发。但是还有一个性能问题请教一下。


用commondialog控件选取文件时,属性maxfilesize太小的话能选取的文件就很少,但是如果把它设的大的话,又很慢,有时候会死机的。怎么办呢?

ZKSJLL 发表于 2004-7-1 00:24:00

<TABLE border=0 class=tablebody2 style="TABLE-LAYOUT: fixed; WORD-BREAK: break-all" width="90%">
<TBODY>
<TR>
<TD style="FONT-SIZE: 9pt; LINE-HEIGHT: 12pt" width="100%">
Sub t6()<BR>On Error Resume Next<BR>Dim i As AcadEntity<BR>Dim ft(0) , fd(0) As Integer<BR>Dim ss As AcadSelectionSet<BR>ThisDrawing.SelectionSets("CURRENT").Delete<BR>Set ss = ThisDrawing.ActiveSelectionSet<BR>ft(0) = 0: fd(0) = "BLOCKREF"


ss.clear<BR>ss.Select acSelectionSetAll, , , ft, fd<BR>For Each i In ss<BR>i.NAME = "XX"


MSGBOX       i.NAME<BR>Next i<BR>ss.Clear<BR>ss.Delete<BR>End Sub<BR>这样是不是可以把当前图形中的所有图块加入到一个选择集??


<BR><BR>

</TD></TR></TBODY></TABLE>

ZKSJLL 发表于 2004-7-1 00:27:00

ft(0) = 8: fd(0) = "blockref"<BR>ss.Select acSelectionSetAll, , , ft, fd<BR>用上面的代码是不是可以得到当前图形中的所有图快???


       

雪山飞狐_lzh 发表于 2004-7-1 08:27:00




ft(0) = 0: fd(0) = "insert"

palagon 发表于 2006-12-28 16:24:00

多看看多练习,我是新手,路过抄袭一下,不好意思啊
页: 1 [2]
查看完整版本: 请教:在VBA中如何使对象改变图层(补充一下)