[求助]如何得到选择集选择的文本字体真实高度?
<p> </p><p> </p>
<p> 图层layer 0是 HZ字体, </p>
<p> 选择集选的文本是romans字体,字体高度为3,但为什么用 <font face="Verdana"> </font></p>
<p><font face="Verdana"> Height = objText.Height <br/> 或者Height = TextHeight(objString) </font></p>
<p> 得到的Height都不是3,而是510,很奇怪?(由于CAD是2004,用不了GetTextHeight())</p>
<p> </p>
<p>如下代码供参考:</p>
<p> </p>
<p><font face="Verdana"> '过滤组码和过滤值</font></p>
<p><font face="Verdana"> Dim FilterType(0) As Integer<br/> Dim FilterData(0) As Variant</font></p>
<p><font face="Verdana"> FilterType(0) = 0<br/> FilterData(0) = "Text" '只选择文本对象</font></p>
<p><font face="Verdana"> ssetObj.Select mode, point1, point2, FilterType, FilterData '选择矩形窗口内对象(acselectionsetwindow)<br/><br/> '循环每个被选择的实体<br/> Dim PickedObjs As AcadEntity<br/> For Each PickedObjs In ssetObj<br/> PickedObjs.Color = acRed '可将所有被选择实体将变为红色</font></p>
<p><font face="Verdana"> <br/> Set objText = PickedObjs '将PickedObjs实体对象赋值给objText文本对象<br/> objString = objText.textString '得到每个实体对象的文本内容<br/> 'MsgBox objString '在屏幕上显示文本内容,测试时用<br/> 'Height = objText.GetTextHeight(objString) '返回指定行类型的文字高度。(2005新增)<br/> Height = objText.Height '得到字体的高度<br/> 'Height = TextHeight(objString) '得到字体的高度<br/> MsgBox Height</font></p>
<p> </p>
<p> </p>
页:
[1]