1

ApplescriptObjc でコーディングしています。
関数内のメニュー項目「Preference...」を無効にしたいのですが、できません。

ボタンを無効にすることができます。コードは次のとおりです。

myButton's setEnabled_(false)

そこで、ボタンのようなメニュー項目を無効にしようとしました:

myMenuItem's setEnabled_(false)

Apple リファレンス ( https://developer.apple.com/library/mac/documentation/cocoa/reference/ApplicationKit/Protocols/NSMenuValidation_Protocol/Reference/Reference.html ) を見ましたが、このリファレンスを使用できませんでした。実際に無効にする方法がわかりません。

- (BOOL)validateMenuItem:(NSMenuItem *)item {
    int row = [tableView selectedRow];
    if ([item action] == @selector(nextRecord) &&
        (row == [countryKeys indexOfObject:[countryKeys lastObject]])) {
        return NO;
    }
    if ([item action] == @selector(priorRecord) && row == 0) {
        return NO;
    }
    return YES;
}

この関数を次のように使用できると思いました。

on validateMenuItem_(myMenuItem)
    if myMenuItemIsEnabled = true then
        return true
    else
        return false
end validateMenuItem_

しかし、これは機能しません (応答なし)。メニュー項目を無効にするにはどうすればよいですか?

4

1 に答える 1

0

メニュー項目を IB プロパティに接続した後、次のコードを使用して無効にします。

set (myMenuItem's enabled) to false

myMenuItem は、無効にするメニュー項目に接続されたプロパティです。「Auto Enables Items」と呼ばれるメニュー項目のメニューオプションのチェックを外す必要があります。

于 2016-06-05T20:17:50.430 に答える