如何点击状态项目显示或隐藏窗口?

问题描述:

如果在菜单栏中单击实际按钮而不是在下拉菜单中显示或隐藏窗口,该如何创建状态项目? 对不起,如果这有点含糊。如何点击状态项目显示或隐藏窗口?

NSStatusItem像许多其他控件一样支持目标/动作机制。我没有用过这个我自己 - 我只用过一个NSStatusItem附加菜单 - 所以我不知道消息发送(即当鼠标按钮被点击或当它被释放)。如果默认情况下它没有做你想要的,你需要像Daniel建议的那样定制视图。

要使用NSStatusItem实现此目标,您需要创建一个自定义视图并通过调用其“setView:”方法替换默认的NSStatusItem视图。

您将在您的自定义视图中实现代码以对例如鼠标点击做出反应。放一扇窗户。 (如果最适合你,可以使用按钮或其他标准视图)。

我会提醒你这是一个棘手的问题。许多细微的细微差别,例如让您的自定义视图的外观在菜单栏中显示正确。但是,如果您想覆盖默认的菜单提示状态项目视图,则这是您需要采取的一般方法。

+0

您确定这是最简单的方法吗? – Joshua 2009-06-02 16:45:43

+2

我猜“确定”是一个很强的词,但如果我不认为这是唯一的方法,我不会这样回答。也许别人会提供另一种意见。 – danielpunkass 2009-06-02 16:48:21