2007年10月30日火曜日

メニューを開くと呼ばれるメソッド:- (BOOL)validateMenuItem:(NSMenuItem *)item

メニューのenable / disable, on state / off state などやりたいときに便利.
sampleを見る限りitemのactionからselectorを判断して使うのがただしいっぽい.
#ここでの"myAction"はIBでメニューアイテムに設定したアクション名.
#このメソッド自体アクションを有するObjectに書く.
#だからアクションを色々つなぎ分けた構成をIBでしたらその分だけ必要.

戻り値がsetEnable:に反映される.

- (BOOL)validateMenuItem:(NSMenuItem *)item {
SEL action = [item action];
if (action == @selector(myAction:)) {
[item setStatus:NSOnState]; //or NSOffState or NSMixState
return YES; // or NO;
}
return YES;
}


#諸先輩方におかれてはあたりまえなんだろうなぁ.

0 件のコメント: