标签: nsmenu

向WebView添加上下文菜单

我认为这很简单:

我想为WebView添加上下文菜单.

在IB中,我向NIB添加了一个NSMenu,将其连接到WebView的菜单插座,启动并期望能够在WebView中进行控制点击并查看弹出菜单.我在上下文菜单中看到的唯一项目是"重新加载".我可以执行相同的步骤,但将菜单连接到其他视图,它按预期工作.

连接到webview的菜单插座时,为什么菜单不能正常工作?

谢谢

cocoa nsmenu webview

1
推荐指数
1
解决办法
1726
查看次数

@selector有多个参数

首先我的代码:

   - (NSMenu*)sourceList:(PXSourceList*)aSourceList menuForEvent:(NSEvent*)theEvent item:(id)item
    {
     if ([theEvent type] == NSRightMouseDown || ([theEvent type] == NSLeftMouseDown && ([theEvent modifierFlags] & NSControlKeyMask) == NSControlKeyMask)) {
      NSMenu * m = [[NSMenu alloc] init];  
      if (item != nil) {
       NSLog(@"%@",[item title]);

       [m addItemWithTitle:[item title] action:@selector(press:) keyEquivalent:@""]; // problem. i want to give "item" as an argument.....

       for (NSMenuItem* i in [m itemArray]) {
        [i setTarget:self];
       }
      } else {
       [m addItemWithTitle:@"clicked outside" action:nil keyEquivalent:@""];
      }
      return [m autorelease];
     }
     return nil;
    }
-(void) …
Run Code Online (Sandbox Code Playgroud)

macos cocoa nsmenu nsmenuitem

1
推荐指数
1
解决办法
1335
查看次数

Cocoa:自动关闭状态菜单

我在状态栏上有一个状态菜单,我在场景后面运行了一些任务.当其中一个任务完成时,假设在显示菜单(下拉)时,我想让菜单自动处于下拉模式(假设在菜单图标上单击鼠标左键).有没有办法做到这一点?

cocoa nsmenu nsstatusitem

0
推荐指数
1
解决办法
896
查看次数

NSEvent单击右侧菜单

当在菜单上向右或向左单击时,我使用此代码有两种不同的行为.

单击左键,然后单击右+ cmd.

如何在没有按cmd +单击的情况下以最简单的方式单击鼠标右键?

-(void)awakeFromNib {

NSImage *image = [NSImage imageNamed:@"menubar"];
NSImage *alternateImage = [NSImage imageNamed:@"menubar-white"];

statusItem = [[NSStatusBar systemStatusBar] statusItemWithLength:NSVariableStatusItemLength];
[statusItem setHighlightMode:YES];
[statusItem setImage:image];
[statusItem setAlternateImage:alternateImage];
[statusItem setAction:@selector(show)];
}


- (void)show {

NSLog(@"call show");

NSEvent *event = [NSApp currentEvent];
//Respond to the mouse click
if ([event modifierFlags] & NSCommandKeyMask) //Command
{
    NSLog(@"RIGHT");
    [statusItem setMenu:statusMenu];
}
else {
    NSLog(@"LEFT");
    //open window
}
}
Run Code Online (Sandbox Code Playgroud)

菜单点击右键

谢谢你的帮助!

objective-c right-click nsmenu nsmenuitem

0
推荐指数
1
解决办法
2025
查看次数