2

プログラムで作成したNSButtonでキーと同等の動作を行うことはできません。誰かが私が間違っていることを私にアドバイスできますか?ボタンを押すと意図したとおりに機能しますが、同等のキーは機能しません。

NSButton *ESCButton = [[NSButton alloc] initWithFrame:NSMakeRect(0, 0, 10, 10)];
[[quickEntryWindow contentView] addSubview:ESCButton];
[[ESCButton cell] setKeyEquivalent:@"\E"];
[ESCButton setTarget:self];
//[ESCButton setTransparent:YES];
[ESCButton setAction:@selector(hideQuickEntryWindow)];
[quickEntryWindow setDefaultButtonCell:[ESCButton cell]];
[quickEntryWindow enableKeyEquivalentForDefaultButtonCell];
4

1 に答える 1

4

-setDefaultButtonCell:セルをウィンドウのデフォルトボタンセルに変えます。これには、必然的に同等のキー\r(Return / Enter)があります。同等の別のキーを使用する場合は、

[quickEntryWindow setDefaultButtonCell:[ESCButton cell]];
[quickEntryWindow enableKeyEquivalentForDefaultButtonCell];
于 2011-02-17T06:58:42.370 に答える