如何实现NSResponder动作消息selectWord?

时间:2013-03-09 21:14:27

标签: macos cocoa nstextview

我看到selectWord:作为一个NSResponder动作消息,我天真地假设如果我实现selectWord:在我的NSTextView的子类上,我可以捕获单词选择(通过双击鼠标)。但当然这并不容易。但是,我可以捕获selectAll:,至少对于命令A键盘事件(但不是通过以其他方式操纵选择)。

我必须错过一些大块的可可事件处理传说,在这里我问我错过了什么。

1 个答案:

答案 0 :(得分:0)

我的猜测是你发现双击选择一个单词不会调用-selectWord:

您可以尝试覆盖-mouseDown:,然后检查NSEvent的clickCount以确定是否是双击。

另一个想法:

可能文本视图未调用-selectWord:的原因是它不是该方法的作用。从文档中,它“将选择范围扩展到它之外的最近的单词边界(最多但不包括字分隔符)”。由于其参数不是鼠标事件,因此甚至无法知道点击发生的位置。因此,-mouseDown:不可能是涉及的人。