zfbj 发表于 2003-12-10 23:24:00

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

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

elepeipei 发表于 2017-10-12 10:27:24

正在看电子版,好多地方都没搜到纸质版

zfbj 发表于 2003-12-10 23:24:00

VBA中如何保持非模态对话框的焦点(AutoCAD会在任何时刻获得焦点,因此非模态对话框简直是无法使用!)

(1)在“工具箱”中的空白区域单击右键,从弹出的菜单中选择“附加控件”菜单项。
(2)在“附加控件”对话框中,引用“AcFocusCtrl”控件,单击“确定”按钮关闭该对话框。
(3)将添加的“AcFocusCtrl”控件放置在要作为非模态使用的窗体中,并在窗体的初始化事件中添加:Me.AcFocusCtrl1.KeepFocus = True
(4)在ThisDrawing模块中添加下面的语句:
Sub Test()
    UserForm1.Show vbModeless
End Sub
(5)运行Test宏,就能观察一下非模态对话框的运行结果。

zfbj 发表于 2003-12-10 23:26:00

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

weiboding 发表于 2003-12-11 17:33:00

is it passable to use?

myfreemind 发表于 2003-12-11 21:49:00

恭喜出书!

zfbj 发表于 2003-12-11 21:55:00

多谢多谢。

bluemoon 发表于 2003-12-11 22:31:00

能不能先读为快啊
要不你就给我一本 :)

BDYCAD 发表于 2003-12-12 08:24:00

到時送我一本, 我也好好學習前輩們的經驗呀.

wuyu1134 发表于 2003-12-14 15:56:00

我会买的,我支持明经

subtlation 发表于 2003-12-15 10:10:00

我也会买的。
有没有书的目录?先睹为快
页: [1] 2 3 4 5 6
查看完整版本: 《AutoCAD VBA开发精彩实例教程》 修订和补充材料