itemChanged:
メニュー項目(anObject)が修正された時に呼び出されます
-(void)itemChanged:(id <NSMenuItem>)anObject:
解説
メニュー項目(anObject)が修正された時に呼び出されます。NSMenuDidChangeItemNotificationをポストします。
返り値
( void )
なし
引数
( id <NSMenuItem> )anObject
オブジェクト
フレームワーク
ApplicationKit
クラス
NSMenu
Instance Methods
使用可能
10.0
参照
例文
#import "MyObject.h" #import "MyMenu.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]; MyMenu *menu = [[[MyMenu alloc] init] autorelease]; NSArray *arr = [[[NSArray alloc] init] autorelease]; //デフォルトの通知センターをnCenterに NSNotificationCenter *nCenter =[NSNotificationCenter defaultCenter]; //通知を作る //NSNotification *notifi = [NSNotification notificationWithName:@"NSWindowDidResizeNotification" object:nil]; //nCenterにオブザーバーを加える [nCenter addObserver:self//このオブジェクトを呼び出す selector:@selector(menuChange:) //呼び出されるメソッド name:@"NSMenuDidChangeItemNotification" //メニューが変更されたら object:nil]; [menuItem setTitle:NSLocalizedString(@"menu_open",@"")]; [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"]; [menuItem setSubmenu: menu]; [menu setAutoenablesItems:NO]; [menuItem setEnabled:YES]; [[NSApp mainMenu] insertItem: menuItem atIndex: 2]; [menuItem setTarget:self]; NSLog([menu className]); arr = [menu itemArray]; //[menu setDelegate:self]; } //NSMenuDidChangeItemNotificationが通知されたときのメソッド - (void)menuChange:(NSNotification *)notification { NSLog([notification name]); } -(void)mItem1:(id)sender { [sender setTitle:@"sss"]; NSLog(@"item1"); } -(void)mItem2:(id)sender { NSLog(@"item2"); } -(void)mItem3:(id)sender { NSLog(@"item3"); } @end