明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 19606|回复: 57

《AutoCAD VBA开发精彩实例教程》 修订和补充材料

  [复制链接]
发表于 2003-12-10 23:24 | 显示全部楼层 |阅读模式
1、本书介绍
    该书由mccad、zfbj和另外一位作者共同编写,于2003年12月在清华出版社出版,预计12月25日左右将在全国书店上市,希望大家关注。
2、本帖内容
    本帖将陆续发表对该书的修订和补充材料,请勿跟帖,如果对该书有何意见,或者关于书中问题的提问,请在新贴上发布。
3、本书封面中的一个小错误
    封面上显示的定价是78元,是封面设计人员的一个小玩笑(不过这是本书的真正价值,呵呵)。该书的定价为36元,如果有变动,以书的实际定价为准。
4、欢迎读者对该书的内容提出意见,以便在后续版本中提供更精彩的内容。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
发表于 2017-10-12 10:27 | 显示全部楼层
正在看电子版,好多地方都没搜到纸质版
 楼主| 发表于 2003-12-10 23:24 | 显示全部楼层
VBA中如何保持非模态对话框的焦点(AutoCAD会在任何时刻获得焦点,因此非模态对话框简直是无法使用!)

(1)在“工具箱”中的空白区域单击右键,从弹出的菜单中选择“附加控件”菜单项。
(2)在“附加控件”对话框中,引用“AcFocusCtrl”控件,单击“确定”按钮关闭该对话框。
(3)将添加的“AcFocusCtrl”控件放置在要作为非模态使用的窗体中,并在窗体的初始化事件中添加:Me.AcFocusCtrl1.KeepFocus = True
(4)在ThisDrawing模块中添加下面的语句:
Sub Test()
    UserForm1.Show vbModeless
End Sub
(5)运行Test宏,就能观察一下非模态对话框的运行结果。
 楼主| 发表于 2003-12-10 23:26 | 显示全部楼层
SelectEntity方法的错误处理(对书中3.5节内容的一点补充)
完整代码:

Private Const VK_ESCAPE = &H1B      ' 代表Esc键
Private Declare Function GetAsyncKeyState Lib "user32" (ByVal vKey As Long) As Integer

' 功能:判断用户是否按下某一个键
' 输入:代表键的常量(从API Viewer中获得)
' 调用:API函数GetAsyncKeyState
' 返回:如果用户按下了指定的键,返回True;否则返回False
' 示例:
'       If CheckKey(&H1B) = True Then do sth
Private Function CheckKey(lngKey As Long) As Boolean
  If GetAsyncKeyState(lngKey) Then
    CheckKey = True
  Else
    CheckKey = False
  End If
End Function


Sub Test()
    Dim objSelect As AcadEntity
    Dim basePnt As Variant
    ' 选择对象并判断类型
    On Error Resume Next
   
Retry:
    ThisDrawing.Utility.GetEntity objSelect, basePnt, "选择所要添加属性的对象:"
   
    ' 处理按下Esc键的错误
    If objSelect Is Nothing Then
        If CheckKey(VK_ESCAPE) = True Then
            Exit Sub
        Else
            GoTo Retry
        End If
    End If
   
    ' 处理未选择到实体的错误
    If Err <> 0 Then
        Err.Clear
        GoTo Retry
    End If
   
    ' 执行你的操作
    Debug.Print objSelect.ObjectName
End Sub
发表于 2003-12-11 17:33 | 显示全部楼层
is it passable to use?
发表于 2003-12-11 21:49 | 显示全部楼层
恭喜出书!
 楼主| 发表于 2003-12-11 21:55 | 显示全部楼层
多谢多谢。
发表于 2003-12-11 22:31 | 显示全部楼层
能不能先读为快啊
要不你就给我一本 :)
发表于 2003-12-12 08:24 | 显示全部楼层
到時送我一本, 我也好好學習前輩們的經驗呀.
发表于 2003-12-14 15:56 | 显示全部楼层
我会买的,我支持明经
发表于 2003-12-15 10:10 | 显示全部楼层
我也会买的。
有没有书的目录?先睹为快
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-4-26 21:23 , Processed in 0.242496 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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