首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在MS Access中使用Tab键增加当前行列表备注字段的缩进量?

问如何在MS Access中使用Tab键增加当前行列表备注字段的缩进量?
EN

Stack Overflow用户
提问于 2019-12-17 01:02:57
回答 1查看 141关注 0票数 0

我在MS Access数据库中有一个备注字段,可以在其中创建备注。我经常在这个备注字段中使用项目符号列表,该字段显示在一个带有大文本框的窗体上。

当按下Tab键时,MS Access的默认设置是循环到下一个控件,然而,当我编辑一个“备注”(备注字段类型)文本框时,我想要缩进这一行。

我已经能够“捕捉”the键并从命令栏对象执行"IndentIncrease“。(使用文本框的KeyPress事件“捕捉”所需的Tab键,并在表单中的所有对象上关闭tabstop )。

但是,这会缩进字段的底部行,即使光标位于中间的某个位置。使用鼠标单击功能区的文本格式部分中的“增加缩进”按钮可以很好地缩进功能区的所需行。

有没有办法让我的代码捕捉tab键并缩进我的memo字段的正确行?

代码语言:javascript
复制
Private Sub tbNoteEditor_KeyPress(KeyAscii As Integer)

If KeyAscii = 9 Then
   Application.CommandBars.ExecuteMso ("IndentIncrease")
End If

End Sub
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-12-23 12:44:43

在本例中,您需要的是KeyDown事件,而不是KeyPress。KeyPress表示正在键入的字符,但Tab键并不总是这样。KeyDown会抓取任何钥匙。此外,如果您要使用Tab键来增加缩进级别,则可能还需要使用Shift-Tab组合键来降低缩进级别。而且,您不需要在整个表单中关闭TabStop。:)

代码语言:javascript
复制
Private Sub tbNoteEditor_KeyDown(KeyCode As Integer, Shift As Integer)

    If KeyCode = 9 Then
        If (Shift And acShiftMask) > 0 Then
            Application.CommandBars.ExecuteMso ("IndentDecrease")
        Else
            Application.CommandBars.ExecuteMso ("IndentIncrease")
        End If
        KeyCode = 0
    End If

End Sub 
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59361199

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档