CAD开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

ActiveX 开发指南

相关分类

键盘优先级属性 (ActiveX)

2023-1-3 13:08| 发布者: admin| 查看: 372| 评论: 0|来自: AutoCAD

摘要: 控制 AutoCAD 如何响应坐标数据的输入。

控制 AutoCAD 如何响应坐标数据的输入。

支持的平台:仅窗口

签名

工 务 局:

object.KeyboardPriority
对象

类型:首选项用户

此属性适用的对象。

属性值

只读:

类型:枚举acKeyboardPriority

  • acKeyboardRunningObjSnap:输入坐标时会严格遵守对象捕捉。
  • acKeyboardEntry:输入坐标时严格遵守键盘输入值。
  • acKeyboardEntryExceptScripts:输入坐标时严格遵守键盘输入值。但是,当通过脚本输入坐标时,将遵循正在运行的对象捕捉。

言论

此属性的初始值为。acKeyboardEntryExceptScripts

注意:此属性的值存储在 OSNAPCOORD 系统变量中。

例子

工 务 局:

Sub Example_KeyboardPriority()
    ' This example returns the current setting of
    ' KeyboardPriority. It then changes the value, and finally
    ' it resets the value back to the original setting.
    
    Dim preferences As AcadPreferences
    Dim currKeyboardPriority As Integer
    Dim constant As String
    Dim newConstant As String
    
    Set preferences = ThisDrawing.Application.preferences
    
    ' Retrieve the current KeyboardPriority value
    currKeyboardPriority = preferences.User.KeyboardPriority
    constant = Choose(currKeyboardPriority + 1, "acKeyboardRunningObjSnap", "acKeyboardEntry", "acKeyboardEntryExceptScripts")
    MsgBox "The current value for KeyboardPriority is " & constant, vbInformation, "KeyboardPriority Example"
    
    ' Change the value for KeyboardPriority
    newConstant = "acKeyboardEntry"
    preferences.User.KeyboardPriority = acKeyboardEntry
    MsgBox "The new value for KeyboardPriority is " & newConstant, vbInformation, "KeyboardPriority Example"
    
    ' Reset KeyboardPriority to its original value
    preferences.User.KeyboardPriority = currKeyboardPriority
    MsgBox "The KeyboardPriority value is reset to " & constant, vbInformation, "KeyboardPriority Example"
End Sub

Visual LISP:

(vl-load-com)
(defun c:Example_KeyboardPriority()
    ;; This example returns the current setting of
    ;; KeyboardPriority. It then changes the value, and finally
    ;; it resets the value back to the original setting.
    (setq acadObj (vlax-get-acad-object))
    (setq preferences (vla-get-Preferences acadObj))
    
    ;; Retrieve the current KeyboardPriority value
    (setq currKeyboardPriority (vla-get-KeyboardPriority (vla-get-User preferences)))
    (setq constant (cond
                     ((= currKeyboardPriority 0) "acKeyboardRunningObjSnap")
                     ((= currKeyboardPriority 1) "acKeyboardEntry")
                     ((= currKeyboardPriority 2) "acKeyboardEntryExceptScripts")))
    (alert (strcat "The current value for KeyboardPriority is " constant))
    
    ;; Change the value for KeyboardPriority
    (setq newConstant "acKeyboardEntry")
    (vla-put-KeyboardPriority (vla-get-User preferences) acKeyboardEntry)
    (alert (strcat "The new value for KeyboardPriority is " newConstant))
    
    ;; Reset KeyboardPriority to its original value
    (vla-put-KeyboardPriority (vla-get-User preferences) currKeyboardPriority)
    (alert (strcat "The KeyboardPriority value is reset to " constant))
)

路过

雷人

握手

鲜花

鸡蛋

最新评论

QQ|Archiver|CAD开发者社区 ( 苏ICP备2022047690号-1 )

GMT+8, 2024-5-12 04:56

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

返回顶部