macOS/iOS API解説

iOS , Mac アプリケーション開発のために使われる主要フレームワークの日本語情報です。2010年代に書かれた内容です。今後更新はありません。

目次

keyEquivalentModifierMask

メニュー項目の代替キーのモディファイアマスクを返します

解説

メニュー項目の代替キーのモディファイアマスクを返します。
【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