【问题标题】:In Cocoa/Obj-C, how to capture a cmd-c event?在 Cocoa/Obj-C 中,如何捕获 cmd-c 事件?
【发布时间】:2014-01-30 05:15:17
【问题描述】:

我有一个显示几行和几列的 NSTableView。用户可以选择多行,我希望能够捕获 cmd-c(复制)快捷方式并执行一些自定义操作(将所选行的信息写入剪贴板)。

所以问题是如何设置一个方法,以便在使用鼠标和键盘选择某些行后立即在 NSTableView 处于焦点的上下文中按下 cmd-c 时调用它?

【问题讨论】:

    标签: objective-c cocoa events keyboard-shortcuts nstableview


    【解决方案1】:

    如果您有一个 NSDOCUMENT 子类,则事件被发送到响应者链并在例如 NSDOCUMENT 的 copy:(id) 方法中捕获。如果你的 NSTABLEVIEW 子类接受FirstResponder 一个 copy:(id) 方法就足够了。

    或者,您可以在例如 sendEvent:(NSEvent*)event 中捕获按键

    【讨论】:

    • 谢谢,它有效。我覆盖了 performKeyEquivalent: 并检查了事件的修饰符标志和字符,但只是覆盖了acceptFirstResponder: 和 copy: 更干净。
    猜你喜欢
    • 2014-11-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-13
    相关资源
    最近更新 更多