明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1727|回复: 3

[求助]如何用VBA实现象MLINE这样的功能?

[复制链接]
发表于 2005-1-27 08:51:00 | 显示全部楼层 |阅读模式
[求助]如何用VBA实现象MLINE这样的功能?如下: 命令: _mline
当前设置: 对正 = 上,比例 = 1.00,样式 = STANDARD
指定起点或 [对正(J)/比例(S)/样式(ST)]:
指定下一点:
指定下一点或 [放弃(U)]:
指定下一点或 [闭合(C)/放弃(U)]: 也就是说:如果我在屏幕上输入点子(坐标),则它识别为起始点或下一个点。当输入对应字符时,则识别为相应功能。谢谢各位大虾指点
发表于 2005-1-27 13:48:00 | 显示全部楼层
2002版本
  1. Sub Example_InitializeUserInput()
  2.        On Error Resume Next
  3.        Dim inputString As String
  4.        Dim keywordList As String
  5.        keywordList = "j s st"
  6.        ThisDrawing.Utility.InitializeUserInput 128, keywordList
  7.        Dim returnPnt As Variant
  8.        returnPnt = ThisDrawing.Utility.GetPoint(, "Enter a point 对正(J)/比例(S)/样式(ST): ")
  9.        If Err Then
  10.                inputString = ThisDrawing.Utility.GetInput
  11.                  If InStr(keywordList, inputString) > 0 Then
  12.                        MsgBox "You entered the keyword: " & inputString
  13.                        Err.Clear
  14.                  Else
  15.                        MsgBox "Error selecting the point: " & Err.Description
  16.                        Err.Clear
  17.                  End If
  18.        Else
  19.                MsgBox "The WCS of the point is: " & returnPnt(0) & ", " & returnPnt(1) & ", " & returnPnt(2), , "GetInput 示例"
  20.        End If
  21. End Sub
2005版本:
  1. Sub Example_InitializeUserInput()
  2.        ' This example prompts for user input of a point. By using the
  3.        ' InitializeUserInput method to define a keyword list, it can also
  4.        ' return keywords entered by the user.
  5.       
  6.        On Error Resume Next
  7.       
  8.        ' Define the valid keywords
  9.        Dim keywordList As String
  10.        keywordList = "j s st"
  11.        ' Call InitializeUserInput to setup the keywords
  12.        ThisDrawing.Utility.InitializeUserInput 128, keywordList
  13.       
  14.        ' Get the user input
  15.        Dim returnPnt As Variant
  16.        returnPnt = ThisDrawing.Utility.GetPoint(, "Enter a point 对正(J)/比例(S)/样式(ST): ")
  17.        If Err Then
  18.                  If Err.Number = -2145320928 Then
  19.                  ' One of the keywords was entered
  20.                          Dim inputString As String
  21.                          Err.Clear
  22.                          inputString = ThisDrawing.Utility.GetInput
  23.                          MsgBox "You entered the keyword: " & inputString
  24.                  Else
  25.                          MsgBox "Error selecting the point: " & Err.Description
  26.                          Err.Clear
  27.                  End If
  28.        Else
  29.                ' Display point coordinates
  30.                MsgBox "The WCS of the point is: " & returnPnt(0) & ", " & returnPnt(1) & ", " & returnPnt(2), , "GetInput 示例"
  31.        End If
  32.       
  33. End Sub
发表于 2005-1-27 15:13:00 | 显示全部楼层
明白!
 楼主| 发表于 2005-1-27 22:15:00 | 显示全部楼层
谢谢!效果很好!真该好好研究一下了!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-11-27 20:23 , Processed in 0.171579 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表