2010-01-18 62 views
6

我想在非基于文档的应用程序中启用灰色打开文件菜单项。基于文档的应用程序会自动为您提供一个不错的打开文件对话框,其中包含基于plist条目的文件扩展名过滤器......当然,存在一个简单优雅的方法来重新启用此功能。在非基于文档的应用程序中启用打开文件菜单项

我有...

  1. 添加的文档类型的项目属性窗口
  2. 分配我的控制器类作为应用程序委托
  3. 新增委托申请:中openFile:我的控制器类

回答

3

关键是沿着菜单项的响应链必须响应-openDocument:操作。通常是NSDocumentController。我会看看空的基于文档的应用程序如何设置该菜单项。

+1

它被连接到MainMenu.xib中的第一响应者。它也应该在非基于文档的应用程序模板的MainMenu.xib中很有吸引力。如果没有,挂钩它,然后在响应者链中并响应'openDocument:'。 – 2010-01-18 07:02:12

3

首先,确保您的文件 - >打开菜单项的选择器连接到第一响应者的openDocument:操作。

其次,确保您正在响应该操作。看看Responder chain of a non-document application with an NSWindowController object。响应者链中的任何对象都可以对消息作出响应,但最好选择最适合和最适合的对象。一旦确定了响应者链中的哪个类最适合处理该消息,请将openDocument:操作添加到它的实现中,并编写代码对其进行相应响应。

相关问题