乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 97|回复: 7

esc键结束循环?

[复制链接]

14

主题

57

帖子

3

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
113
发表于 2011-8-24 09:36:33 | 显示全部楼层 |阅读模式
我有一个简单的sta/off多行文字标签测试,我可以#039;t似乎可以通过转义键或空格键重新加载表单。测试标签从路线中选择了拾取的点。我能做的事't get to work是如何点击escape键或scape栏退出循环并重新加载表单,以便我可以从另一条路线标记新点
有没有人有链接显示我如何点击esc键或空格键来结束循环;显示表格;ve#039;如果Chr(vbKeyEscape)=27,则
&039;此图纸。SendCommand“;ESC“&vbCr;退出Do;用户窗体1.Show;如果结束,谢谢John Coon&nbsp
basePnt=ThisDrawing.Utility。GetPoint(,“选择要标记的位置:”)
对齐。点位置basePnt(0)、basePnt(1)、testStax、testStay对齐。StationOffset basePnt(0)、BasePnt1、StatValue、OffValue&nbsp&nbsp&nbsp
strOFF=格式(OffValue,strFormat)
strStation=o对齐。GetStationStringWithEquations(StaValue)
&nbsp
strText="STA:&(车站)&引用;\P“_
&nbsp&nbsp&nbsp&nbsp&nbsp&amp&引用;关闭:“0”&(斯特罗夫)&引用;\P“_
如果StaValue&lt&燃气轮机;0,然后设置mtxtLabel=ThisDrawing.ModelSpace。AddMText(basePnt、dblWidth、strText)
mtxtLabel。高度=dblHeight。旋转=dblRot,如果mtxtLabel,则结束。更新&nbsp&nbsp&nbsp

回路
回复

使用道具 举报

86

主题

744

帖子

6

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1092
发表于 2011-8-24 09:50:40 | 显示全部楼层
也许这样的事情会让你朝着正确的方向前进…
  1. Public Sub GetPointLoop()
  2.     Dim SomePoint As Variant
  3.    
  4.     On Error Resume Next
  5.     Do
  6.         SomePoint = ThisDrawing.Utility.GetPoint(, "Select a point...")
  7.         If Err.Number  0 Then
  8.             Exit Do
  9.         Else
  10.             ThisDrawing.Utility.Prompt "Do something here..."
  11.         End If
  12.     Loop
  13.    
  14.     MsgBox "Show form"
  15. End Sub

回复

使用道具 举报

14

主题

57

帖子

3

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
113
发表于 2011-8-24 10:33:37 | 显示全部楼层
马特,谢谢你的帮助&nbsp
如果我添加if Err。编号(&lt)&燃气轮机;然后为0&nbsp&nbsp&nbsp&nbsp 退出Do如果它标记了一个标签,则结束,然后重新加载表单,然后它标记了尽可能多的拾取位置,但从未退出循环而不崩溃
约翰
回复

使用道具 举报

14

主题

57

帖子

3

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
113
发表于 2011-8-24 10:46:19 | 显示全部楼层
您还可以使用GetAsyncKeyStatehttp://www.theswamp.org/index.php?topic=9301.msg119833#msg119833http://www.theswamp.org/index.php?topic=26302.msg317417#msg317417http://www.theswamp.org/index.php?topic=18104.msg219595#msg219595。。。
回复

使用道具 举报

86

主题

744

帖子

6

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1092
发表于 2011-8-24 11:09:19 | 显示全部楼层
本人'我看看能否合并Matt#039;s或jgr#039;s post
只看jgr's我想这可能有一段时间不适合我了,谢谢大家,约翰
回复

使用道具 举报

14

主题

57

帖子

3

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
113
发表于 2011-8-24 11:43:17 | 显示全部楼层

  1. Option Explicit
  2. Dim SomePoint As Variant
  3. Public Sub GetPointLoop()
  4.     On Error Resume Next
  5.     Do
  6.         SomePoint = ThisDrawing.Utility.GetPoint(, "Select a point...")
  7.         If Err.Number  0 Then
  8.             Exit Do
  9.         Else
  10.             AddText
  11.         End If
  12.     Loop
  13.    
  14.     MsgBox "Show form"
  15. End Sub
  16. Private Sub AddText()
  17.     Dim ptEN(0 To 2) As Double
  18.     Dim objText As AcadText
  19.    
  20.     ptEN(0) = SomePoint(0)
  21.     ptEN(1) = SomePoint(1)
  22.     ptEN(2) = 0
  23.    
  24.     Set objText = ThisDrawing.ModelSpace.AddText("THIS IS A TEST", ptEN, "12")
  25.     objText.Update
  26. End Sub
回复

使用道具 举报

14

主题

57

帖子

3

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
113
发表于 2011-8-24 11:56:56 | 显示全部楼层
马特,
好的……我想我是从这篇帖子上读到的 有趣的是……我发现了一个旧的land桌面例程,它与C3D做了基本相同的事情,并且工作正常,它所拥有的只是错误的GoTo Bye
I'我将更改为添加上一篇文章的格式
谢谢你的帮助
约翰;old land desktop 出错时转到Bye;Do Dim varDataPnt1作为变体;varDataPnt1=ThisDrawing.Utility。GetPoint(提示:=vbCrLf“选择要标记的下一个点:”)
;objAlign。统计偏移varDataPnt1(0)、varDataPnt1(1)、dblSta、dblOff、dblDir

 strStaFormat=&quot#0.00“
 strOffFormat=&quot#0.00“
 strSta=左(格式(dblSta,strStaFormat),Len(格式(dblSta,strStaFormat))-5)&nbsp&nbsp&nbsp&nbsp&nbsp&amp&引用+&引用&右(格式(dblSta,strStaFormat),5)&nbsp
 如果dblOff>然后为0&nbsp strOff=格式(dblOff,strOffFormat)&amp&引用' RT“
 其他&nbsp strOff=右(格式(dblOff,strOffFormat),(Len(格式(dblOff,strOffFormat))-1))\u&nbsp&nbsp&nbsp&amp&引用' LT&quot
 如果结束&nbsp&nbsp
 strText="STA:&(strSta)和&引用;\P“_
&nbsp&nbsp&nbsp&nbsp&nbsp&amp&引用;关闭:“0”&(斯特罗夫)&引用;\P“_
&nbsp
 设置mtxtLabel=ThisDrawing.ModelSpace。AddMText(varDataPnt1、dblWidth、strText) mtxtLabel。高度=dblHeight mtxtLabel。旋转=dblRot mtxtLabel。更新循环,再见:显示
回复

使用道具 举报

86

主题

744

帖子

6

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1092
发表于 2011-8-30 16:33:45 | 显示全部楼层
我能够添加一些来自马特的信息;s post to work with my small例程。我调整了一个现有的简单的x,y标签例程,该例程运行良好,在右键单击或esc上生成了一个错误,并按我的意愿重新加载了表单,但我仍然无法't使civil 3D对齐例程在出现错误时esc到用户窗体,而不会使图形崩溃。今天早上从飓风中回来工作后,我又看了一遍
I添加
如果StaValue=0,则转到Bye(再见),如果结束,则产生错误,因为所选位置不在对齐范围内,它会像我需要的那样重新加载表单。谢谢你的帮助,Matt W
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-6-30 17:46 , Processed in 1.083995 second(s), 68 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表