2013-08-18 4 views
1

Я кодирую ApplescriptObjc.
Я хочу отключить пункт меню «Предпочтение ...» в функции, но я не могу этого сделать.Отключить пункты меню на ApplescriptObjc

Я могу отключить кнопки. Вот код:

myButton's setEnabled_(false) 

Так что я попытался отключить пункт меню, как кнопка:

myMenuItem's setEnabled_(false) 

Я смотрел на Apple, Reference (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_ 

Но это не работает (нет ответа). Как отключить пункты меню?

+0

Вначале я бы добавил заявление, например, сказать «in validateMenuItem», чтобы узнать, вызван ли этот метод, а также упростить метод, всегда возвращая false. Я вернусь к вам больше, когда у меня будет ответ (это всего лишь комментарий). – Kaydell

ответ

0

После подключения пункта меню к собственности IB, используйте следующий код, чтобы отключить его:

set (myMenuItem's enabled) to false 

Где myMenuItem это свойство связано с пунктом меню, который вы хотите отключить. Вы должны убедиться, что снимите флажок с пункта меню пункта меню «Автообновить элементы».