0

我试图在我的 NSView 中捕获 CMD+ 和 CMD- 键盘操作 - 以增加和减少某些自定义文本的字体大小。由于各种原因,我不能简单地使用 NSTextView。有谁知道处理这个问题的正确方法?

据我了解,它们是菜单项的关键等价物。我可以通过实现 changeFont: 来“启用”菜单项,并且我可以通过实现 performKeyEquivalent: 来捕获按键,但这似乎有点小技巧。此外,当 changeFont 确实被调用时,我不清楚我如何解释它是为 CMD+/- 调用的事实,因为它只是向我发送了一个 NSFontManager。让我想知道我是否在处理错误的消息?

提前致谢。

4

1 回答 1

1

Gerd(见上面的评论)让我整理好了。在我的 changeFont 处理程序中,我创建了一个大小为 10 的临时字体,然后将其传递回字体管理器并检查返回字体的大小。如果它更大,则按下 CMD+,如果它更小,则按下 CMD-。

- (void)changeFont:(id)sender
{
    NSFontManager* fm = sender;

    NSFont* fntBefore = [NSFont systemFontOfSize:10];
    NSFont* fntAfter = [fm convertFont:fntBefore];

    CGFloat delta = fntAfter.pointSize - fntBefore.pointSize;
}
于 2013-06-07T10:54:14.370 回答