
创建一个Cocoa Application工程,如下实现AppDelegate。
AppDelegate.h 文件
#import <Cocoa/Cocoa.h>@interface AppDelegate : NSObject <NSApplicationDelegate> { NsstatusItem *statusItem;}@property (assign) IBOutlet NSWindow *window;- (IBAction)quit:(ID)sender;- (IBAction)test:(ID)sender;@end AppDelegate.m文件
#import "AppDelegate.h"@implementation AppDelegate@synthesize window;- (voID)dealloc{ [super dealloc];}- (voID)applicationDIDFinishLaunching:(NSNotification *)aNotification{ [self initStatusMenu];}- (voID)initStatusMenu { Nsstatusbar *bar = [Nsstatusbar systemStatusbar]; statusItem = [[bar statusItemWithLength:NSVariableStatusItemLength] retain]; [statusItem setTitle:@"Statusbar"]; [statusItem setHighlightmode:YES]; [statusItem sendActionOn:NSMouseEntered]; NSMenu *menu = [[NSMenu alloc] initWithTitle:@""]; [menu setautoenablesItems:NO]; NSMenuItem *testMenuItem = [[NSMenuItem alloc] initWithTitle:@"Test" action:@selector(test:) keyEquivalent:@""]; [menu addItem:testMenuItem]; NSMenuItem *quitMenuItem = [[NSMenuItem alloc] initWithTitle:@"Quit" action:@selector(quit:) keyEquivalent:@""]; [menu addItem:quitMenuItem]; [statusItem setMenu:menu]; [menu release]; [testMenuItem release]; [quitMenuItem release];}- (IBAction)quit:(ID)sender { [NSApp terminate:self];}- (IBAction)test:(ID)sender { NSLog(@"test");}@end 需要注意的是要在工程的pList文件中加一个新的属性: Application is agent(UIElement),将值设为YES。 这样在启动程序的时候,Dock上就不会显示App的图标。
你还可以通过setimage: 和 SetAlternateImage: 来设置Statusbar的图标。
最后,编译运行,会在顶部的状态栏看到你的Status bar。
总结
以上是内存溢出为你收集整理的创建Status Bar 应用全部内容,希望文章能够帮你解决创建Status Bar 应用所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)