MAC OS X Cocoa NSToolbar 的使用

原创 2005年03月04日 15:29:00

//向NSToolbar控件添加自定义的NSToolbarItem项
- (NSToolbarItem *) toolbar: (NSToolbar *)toolbar itemForItemIdentifier:
(NSString *) itemIdent willBeInsertedIntoToolbar:(BOOL) willBeInserted {
     // Required delegate method   Given an item identifier, self method
returns an item
     // The toolbar will use self method to obtain toolbar items that can
be displayed in the customization sheet, or in the toolbar itself
     NSToolbarItem *toolbarItem = [[[NSToolbarItem alloc]
initWithItemIdentifier: itemIdent] autorelease];

     if ([itemIdent isEqual: SquareDotViewItemIdentifier]) {
 SquareDotView *dv = [[SquareDotView alloc] initWithFrame:
NSMakeRect(0,0,100,32)];

 [toolbarItem setView: dv];

 // set a reasonable minimum size
 [toolbarItem setMinSize: NSMakeSize(100,32)];
 // set a maximum size that allows us to stretch.
 [toolbarItem setMaxSize: NSMakeSize(300,32)];

 [toolbarItem setLabel: @"Dot View"];
 [toolbarItem setPaletteLabel: @"A Dot View"];
 [toolbarItem setToolTip: @"This is a dot view"];
     }
   .....
}

//返回单击后能被选中且为高亮显示的NSToolbarItem的集合。
- (NSArray *)toolbarSelectableItemIdentifiers:(NSToolbar *)toolbar
{// return an array of all  the items that can be highlight display after selected
   return [NSArray arrayWithObjects:
  NSColorToolbarItemIdentifier,
  NSFontToolbarItemIdentifier,nil];
}

//返回程序加载后的默认的NSToolbarItem的集合。
- (NSArray *)toolbarDefaultItemIdentifiers:(NSToolbar *)toolbar
{ // return an array of the items found in the default toolbar
    return [NSArray arrayWithObjects:
       NSToolbarSeparatorItemIdentifier,
  NSFontToolbarItemIdentifier,
  NSToolbarCustomizeToolbarItemIdentifier,
  nil];
}


//以下是作为NSToolbarItem出现的自定义类
The "SquareDotView" class:


@interface SquareDotView : NSView {
@private
     float sdSide;
     NSPoint sdLocation;
}
@end

@implementation SquareDotView

#define START_SIDE  10
#define START_LOCATION  NSMakePoint(10,10)

- (id)initWithFrame:(NSRect)frame {
     self = [super initWithFrame:frame];
     if (self) {
 sdSide = START_SIDE;
 sdLocation = START_LOCATION;
     }
     return self;
}

- (void)mouseDown:(NSEvent *)theEvent {
     sdLocation = [self convertPoint: [theEvent locationInWindow]
fromView: nil];
     [self setNeedsDisplay: YES];
}

- (void)drawRect:(NSRect)rect {
     [[NSColor redColor] set];
     [[NSBezierPath bezierPathWithRect: NSMakeRect(sdLocation.x,
sdLocation.y, sdSide, sdSide)] fill];

     [[NSColor blackColor] set];
     [[NSBezierPath bezierPathWithRect: [self bounds]] stroke];
}

- (id)initWithCoder:(NSCoder *)coder {
     self = [super initWithCoder: coder];
     if (self) {
 [coder decodeValuesOfObjCTypes: "fff", &sdSide, &sdLocation.x,
&sdLocation.y];
     }
     return self;
}

- (void)encodeWithCoder:(NSCoder *)coder {
     [super encodeWithCoder: coder];
     if (self) {
 [coder encodeValuesOfObjCTypes: "fff", &sdSide, &sdLocation.x,
&sdLocation.y];
     }
}

@end

一个简单聊天室的两种实现 (fcntl 和 select)

深入UNIX编程之一一个简单聊天室的两种实现 (fcntl 和 select) 作者:不详 eDOC工作组 在互联网相当普及的今天,在互联网上聊天对很多“网虫”来说已经是家常便饭了。聊天室程序可以说是...
  • x86
  • x86
  • 2000-12-21 18:35:00
  • 1135

NSToolBar

Toolbar 和左上角控制窗口关闭、最小化和全屏的三个按钮在同一行。 self.window.titleVisibility = NSWindowTitleHidden; ...
  • u012998851
  • u012998851
  • 2016-06-22 10:02:20
  • 652

MAC NSToolbar

- (void)setUpToolbar { NSToolbar *toolbar = [[NSToolbar alloc] initWithIdentifier:@"AppToolbar"]...
  • tongwei117
  • tongwei117
  • 2017-05-05 10:57:12
  • 300

关于NSToolbar的使用

在讨论苹果环境下的开发,不可避免会引用到官方文档:https://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/Too...
  • jasonblog
  • jasonblog
  • 2012-12-02 20:58:56
  • 4411

自定义NSToolbar中NSToolbarItem中的官方例子

Download Sourcecode ToolbarSample Last Revision: Version 1.2, 2011-06-29 Project updated for ...
  • yuanya
  • yuanya
  • 2014-03-25 11:24:58
  • 1421

MAC OS X Cocoa NSToolbar 的使用

//向NSToolbar控件添加自定义的NSToolbarItem项- (NSToolbarItem *) toolbar: (NSToolbar *)toolbar itemForItemIdent...
  • conccy
  • conccy
  • 2005-03-04 15:29:00
  • 1147

在NSToolbar中添加自定义的toolbaritem

1,往ib中找到customize toolbar item, 拖至控件上方。 2, 然后再替换成相应图片。 3,往Default Toolbar Items中将Customize Toolbar I...
  • yuanya
  • yuanya
  • 2014-03-24 22:22:19
  • 1203

iOS学习之UINavigationController详解与使用(三)ToolBar

iOS学习之UINavigationController详解与使用(二)页面切换和segmentedController  接上篇,我们接着讲Navigation 的Toolbar。1、显示Toolb...
  • totogo2010
  • totogo2010
  • 2012-06-21 13:25:09
  • 80816

自定义ToolBar的实现

       工具栏的按钮可以设置三种状态的图片,SetImageList,SetHotImageList,SetDisabledImageList。方法如下: BOOL CMainFrame::cr...
  • primer_programer
  • primer_programer
  • 2008-08-01 18:37:00
  • 6723

iOS SDK详解之UIToolBar

原创blog,转载请注明出处 http://blog.csdn.net/hello_hwc?viewmode=contents 欢迎关注我的iOS SDK详解专栏 http://blog....
  • Hello_Hwc
  • Hello_Hwc
  • 2015-08-19 17:24:41
  • 2372
收藏助手
不良信息举报
您举报文章:MAC OS X Cocoa NSToolbar 的使用
举报原因:
原因补充:

(最多只允许输入30个字)