我在NSMenu中使用NSComboBox来显示项目列表。当我选择NSComboBox菜单中的任何选项时应该被解雇。
要解雇NSMenu我使用了10.6及以上版本的cancelTrackingWithoutAnimation,它运行正常。在10.5的情况下,我使用cancelTracking,但它并没有解雇NSMenu。
答案 0 :(得分:1)
我通过使用碳API CancelMenuTracking()
,
CancelMenuTracking(
MenuRef inRootMenu,
Boolean inImmediate,
UInt32 inDismissalReason)
使用_NSGetCarbonMenu获取NSMenu的menuref。
menuRef = _NSGetCarbonMenu(myMenu);
CancelMenuTracking(menuRef,YES,kHIMenuDismissedByCancelMenuTracking);
表示10.5和CancelMenuTracking(menuRef,YES,0);
表示10.6及以上