在我的应用中,我有三个 NSImageView
。当用户右键单击ImageView时,我将显示一个NSMenu
,两个NSMenuItem
S"添加照片","删除照片"。由于我有三个ImageView,因此我需要知道哪个ImageView显示菜单。这样我只能为该图像视图做我的事情。
那么我该怎么做?我在窗口中找不到NSMENU的位置。
如果您知道何时出现上下文(右键单击)菜单在您的应用程序中,则应该能够获取其发生的原始" NSEvent
"数据。要检测它的发生,您有一些选择(例如" NSWindow
"子类中的" rightMouseDown:
")。
在" NSEvent
"中,您可以获取locationInWindow
(我已经为您链接了Apple文档)。使用该信息,您可以检查鼠标向下的鼠标是否属于三个图像视图帧的边界。
,然后您将知道要添加或删除的照片。