Cocoa教学:如何在菜单栏显示图标及菜单
时间: 2009-06-11 19:40 点击: 次
如果你用过CoverSutra,那么你一定对它的菜单栏图标有印象。通过在菜单栏画一个心型小图标,你可以在菜单栏控制iTunes的音乐播放和欣赏音乐封面。
![]()
要在自己的程序里加入菜单栏图标,其实也很简单。
你要做的仅仅是在程序里添加一个NSStatusItem,比如这样:
@interface Controller : NSObject
{
NSStatusItem *_statusItem;
}
在希望显示图标的位置加入如下代码:
_statusItem = [[NSStatusBar systemStatusBar] statusItemWithLength:NSVariableStatusItemLength];
[_statusItem setImage:[NSImage imageNamed:@"test"]];
图标就可以显示出来了。
如果希望点击图标后显示菜单,你可以手工创建一个菜单:
NSMenu * menu;
menu = [[NSMenu alloc] initWithTitle:@""];
[menu addItemWithTitle:@"Hi" action:@selector(myhi) keyEquivalent:@""];
[_statusItem setMenu:menu];
[menu release];
这里假设myhi是你自己程序中的一个方法。
这样,你的菜单栏图标就有一个菜单了。你也可以使用addItemWithTitle方法添加更多的菜单。
在程序退出的时候,记得把图标释放:
- (void)dealloc
{
[[NSStatusBar systemStatusBar] removeStatusItem:_statusItem];
[_statusItem release];
[super dealloc];
}
菜单栏图标还有一些其他的属性,你可以进行设置,比如:
alternateImage: 点击后显示的图标。如果设置了这个属性,点击图标后可以显示另外一幅图片。
highlightMode: 点击图标后是否高亮。
title: 如果设置title属性,将会在图标后面显示文字。
length: 图标在菜单栏占的长度。设置为-1使用图片的默认长度。
toolTip:鼠标指到图标上显示的工具提示。
其他的属性你可以自己摸索。
Pal Kim写了一个非常好而且极为简单的例子,你可以在这里下载。
顶一下(9)
100%
踩一下(0)
0%
打印 上一篇:随处使用Cocoa文字系统
发表评论
本类文章点击排行榜
- [06-18] Cocoa夜未央第一期 Cocoa的基本
- [06-18] UITableView实例教程:创建Tabl
- [06-18] Cocoa夜未央第三期 MVC,界面编
- [06-18] Cocoa夜未央第二期 xcode及基本
- [06-02] XCode自带Source Control Manager(SC
- [07-27] Xcode 4 新特性介绍
- [06-11] Google的开源苹果软件更新框架
- [06-11] Leopard轻松编程:帮你节省代码
- [06-11] WebKit的基本用法
推荐内容
最近更新
- [07-27] Xcode 4 新特性介绍
- [07-23] UTF-8 和 GBK 的 NSString 相互转化的方法
- [07-09] NSSlider控件出现残像的解决方法
- [07-07] 调用系统现成importer来获取文件metadata的方法
- [06-30] 实现鼠标拖拽删除对象时烟雾缭绕效果的代码
- [06-28] QuickLook 调用示例代码
- [06-22] Cocoa里的字符串,NSString介绍
- [06-22] Cocoa里参数传递引用的方法
- [06-21] 在 xcode中进行条件编译的方法

XCode自带Source Control Manager(SCM)以及SnapShots用法
XCode、Cocoa开发中使用第三方dylib的方法
[系统控件重绘教程(二)]重绘NSButton
创建Xcode自定义模板的图文教程
在Cocoa中使用TagLib获取歌曲ID3信息
iLife 08风格的Source List代码