メニュー項目の代替キーのモディファイアマスクを返します
解説
メニュー項目の代替キーのモディファイアマスクを返します。
【mask】
● NSShiftKeyMask シフトキー
● NSAlternateKeyMask オプションキー
● NSCommandKeyMask コマンドキー
返り値
( unsigned int )
整数値
引数
フレームワーク
ApplicationKit
クラス
NSMenuItem
Instance Methods
使用可能
10.0
参照
- setKeyEquivalentModifierMask:
例文
#import "MyObject.h" @implementation MyObject - (IBAction)myAction:(id)sender { /* Localizable.stringsのJapaneseに記入してあります。 "menu_open"="開く"; "menuItem_1"="メニュー項目1"; "menuItem_2"="メニュー項目2"; "menuItem_3"="メニュー項目3"; */ //メインメニューのメニュー項目 NSMenuItem *menuItem = [[[NSMenuItem alloc] init] autorelease]; //メニュー NSMenu *menu = [[[NSMenu alloc] init] autorelease]; //[menuItem setTitle:NSLocalizedString(@"",@"")]; [menu setTitle: NSLocalizedString(@"menu_open",@"")]; //メニューにメニュー項目を加える [menu addItemWithTitle: NSLocalizedString(@"menuItem_1",@"") action: @selector(mItem1:) keyEquivalent: @"A"]; [menu addItemWithTitle: NSLocalizedString(@"menuItem_2",@"") action: @selector( mItem2: ) keyEquivalent: @"B"]; [menu addItem: [NSMenuItem separatorItem]]; [menu addItemWithTitle: NSLocalizedString(@"menuItem_3",@"") action: @selector( mItem3: ) keyEquivalent: @"E"]; //メニュー項目0にサブメニューを加えます [[menu itemAtIndex:0] setSubmenu:subMenu]; //メインメニューのメニュー項目にメニューを加えます。 [menuItem setSubmenu: menu]; [menu setAutoenablesItems:NO]; //メインメニューのメニュー項目を有効に [menuItem setEnabled:YES]; //メインメニューにセットする [[NSApp mainMenu] insertItem: menuItem atIndex: 2]; [[menu itemAtIndex:1] setTarget:self]; [[menu itemAtIndex:3] setTarget:self]; //アクションの接続変更 [[menu itemAtIndex:3] setKeyEquivalent:@"G"]; [[menu itemAtIndex:3] setKeyEquivalentModifierMask:(NSCommandKeyMask | NSShiftKeyMask)]; switch ([[menu itemAtIndex:3] keyEquivalentModifierMask]){ case (NSCommandKeyMask | NSShiftKeyMask): NSLog(@"Command+Shift"); break; case (NSCommandKeyMask | NSAlternateKeyMask): NSLog(@"Command+Option"); break; case (NSCommandKeyMask | NSShiftKeyMask | NSAlternateKeyMask): NSLog(@"Command+Shift+Option"); break; } } -(void)mItem1:(id)sender { NSLog(@"item1"); } -(void)mItem2:(id)sender { NSLog(@"item2"); } -(void)mItem3:(id)sender { NSLog(@"item3"); } @end