给我的程序'选项'

时间:2011-03-28 03:21:43

标签: objective-c cocoa macos subclass nsbutton

确定,

在XCode 4中,我创建了3个小程序:一个计算器,一个“便笺簿”(空白便笺式窗口)和“电子表格”(看起来像一张电子表格,用于保存计算器获得的值)

我现在要做的是在计算器上添加一个按钮,当按下该按钮时,执行便笺簿或电子表格,并为用户提供选择哪一个。

我已将这两个捆绑包放在“应用程序”文件夹中,以便于查找。

我想知道我是否需要子类化NSButton,或者是否有更简单的方法来执行此操作。

我想我可以让NSButton在/ users / me / applications打开一个文件浏览器,然后当用户(我:-))选择其中一个应用程序时,它会将它存储为变量当我按下它的等效键时,按钮将会执行。

但后来我不知道如何给按钮两个不同的动作,一个'点击'和一个'按'

如果我必须将按钮子类化,我应该在哪里开始寻找?如果有一种更简单的方法,它会在哪里?

2 个答案:

答案 0 :(得分:2)

似乎简单的解决方案是两个按钮,每个程序一个。

如果您只使用一个按钮,那么直接的操作就是让按钮的操作显示一个工作表或对话框,让用户决定要启动哪个应用程序。

答案 1 :(得分:2)

  

我喜欢这种方法,听起来不错。是否有任何方法可以让菜单允许我决定按钮将运行哪个程序,然后按下“键盘等效”将实际启动该程序? - TotalCocoaNewb

当然可以:

-(IBAction)theActionYouSetOnThePopupButtonInInterfaceBuilder:(NSPopUpButton*)sender
{
    if ( 0 == [sender indexOfSelectedItem] ) {
       // do something...
    } else {
       // do something else...
    }
}