如何用延迟的NSMenu创建NSButton?

时间:2010-07-22 12:56:51

标签: cocoa nsmenu nsbutton

在Cocoa中我想创建一个带有延迟菜单的nsbutton。 即,单击时应调用操作方法,当处于按下状态2秒时,应显示nsmenu。

类似于Xcode工具栏中的“Build Active Target”按钮。

此致

Dhanaraj。

1 个答案:

答案 0 :(得分:1)

这是一个NSPopUpButton ..这是我在我的应用程序中创建它的方式。

NSToolbarItem* item = [[[NSToolbarItem alloc] initWithItemIdentifier:identifier] autorelease];
[item setLabel:label];
[item setPaletteLabel:label];
[item setToolTip:tooltip];

NSPopUpButton* button = [[[NSPopUpButton alloc] initWithFrame:NSMakeRect(0, 0, 200, 24) pullsDown:NO] autorelease];
NSMenu* menu = [button menu];
// insert code here, that adds NSMenuItems to the menu

[button setTarget:self];
[button setAction:@selector(menuAction:)];
[[button cell] setBezelStyle:NSTexturedRoundedBezelStyle];
[[button cell] setArrowPosition:NSPopUpArrowAtBottom];
[[button cell] setFont:[NSFont systemFontOfSize:14]];
[item setView:button];