3

有没有什么方法可以在 NSTableView 中实现多选行为,而无需用户在单击时按住命令按钮?这在 Carbon 列表框中很容易做到,通过在 cmdKey 修饰符标志中进行 ORing,在鼠标按下处理期间,调用 HandleControlClick() 函数。我是 Cocoa 的新手,我不清楚如何以编程方式轻松修改事件,或者这是否是最佳解决方案。

4

1 回答 1

4

子类 NSTableView 并使您的表视图成为此子类的实例。在子类中,响应两者mouseDown:,并mouseUp:通过基于您收到的鼠标事件创建一个新的鼠标事件,仅将NSCommandKeyMask标志 ORed 到修饰符标志中,并将新事件传递给super.

但是,我希望您的用户可以清楚地看到他们可以选择多个项目。此外,不要破坏 Shift 键——确保连续选择仍然有效。

于 2009-07-20T19:09:13.607 回答