M-dub 发表于 2009-3-20 14:30:44

大写字母lOCK&aUTOcad

快速提问:有没有办法从命令行打开或关闭CAPS LOCK
我正在寻找一种开箱即用的解决方案,无需使用任何代码。
**** Hidden Message *****

deegeecees 发表于 2009-3-20 14:39:22

如果您改变了使用代码的想法…
请搜索acad。dvb,并将其复制到您认可的支持目录。按Alt+F11,然后将以下代码复制粘贴到ThisDrawing模块的开头

Option Explicit
Private Const VK_CAPITAL = &H14
Private Type KeyboardBytes
    kbByte(0 To 255) As Byte
End Type
Private kbArray As KeyboardBytes
Private Declare Function GetKeyState Lib "user32" _
(ByVal nVirtKey As Long) As Long
Private Declare Function GetKeyboardState Lib "user32" _
(kbArray As KeyboardBytes) As Long
Private Declare Function SetKeyboardState Lib "user32" _
(kbArray As KeyboardBytes) As Long
Private Declare Function GetForegroundWindow Lib "user32" () As Long
然后将此代码复制/粘贴到模块的末尾

Private Sub AcadDocument_BeginCommand(ByVal CommandName As String)
If CommandName = "TEXT" Or CommandName = "DTEXT" Or _
CommandName = "DDEDIT" Or CommandName = "MTEDIT" Or _
CommandName = "ATTEDIT" Or CommandName = "EATTEDIT" Or _
CommandName = "DIMLINEAR" Or CommandName = "QLEADER" Or _
CommandName = "MTEXT" Then
'add any other command names you want caps on for
'be sure to add them to the endcommand section below as well
   GetKeyboardState kbArray
   kbArray.kbByte(VK_CAPITAL) = 1
   SetKeyboardState kbArray
End If
End Sub
Private Sub AcadDocument_EndCommand(ByVal CommandName As String)
If CommandName = "TEXT" Or CommandName = "DTEXT" Or _
CommandName = "DDEDIT" Or CommandName = "MTEDIT" Or _
CommandName = "ATTEDIT" Or CommandName = "EATTEDIT" Or _
CommandName = "DIMLINEAR" Or CommandName = "QLEADER" Or _
CommandName = "MTEXT" Then
   GetKeyboardState kbArray
   kbArray.kbByte(VK_CAPITAL) = 0
   SetKeyboardState kbArray
End If
End Sub
除非您选择这样做,否则您将永远不会再被帽子怪物困扰。

M-dub 发表于 2009-3-20 14:44:26

谢谢迪格…我只是想编辑一个按钮。我们必须将所选文本更改为所有大写字母,这样按钮也可以打开大写字母锁。这不是什么大不了的事……我想更多的是好奇<再次感谢。

deegeecees 发表于 2009-3-20 14:48:36

我听到了。如果不使用一些代码,我不知道如何做到这一点。

Krushert 发表于 2009-3-20 14:56:28

有没有一个很久以前沼泽里的人发明的小程序?搜索CAPsMan EXE。

Maverick® 发表于 2009-3-20 15:54:35

你可以PM Cmdrduh。他有一个caps lock实用程序,可以根据活动窗口(可编辑)的名称打开caps lock。可能对你有用。

M-dub 发表于 2009-3-20 15:57:01

谢谢你们。 99.293%的时间,这不是问题,所以我不会担心它。 我只是想知道他们是否为acad带来了一些新的变量。

rhino 发表于 2009-3-23 01:35:35

在mtext中,右键菜单中有一个AutoCAPS和一个Change Case......
因此,如果文本被写入小写CTRL-A、CTRL-SHIFT-U[或-L],具体取决于大写或小写字符......

M-dub 发表于 2009-3-25 12:25:34


这也适用于DTEXT-谢谢Big G: kewl:

M-dub 发表于 2009-3-25 12:40:23

如果您不想使用代码,但想要一个切换 caplock 的按钮,则可以尝试此操作。
页: [1] 2
查看完整版本: 大写字母lOCK&aUTOcad