【问题标题】:borderless child NSWindow not getting events无边界子 NSWindow 没有收到事件
【发布时间】:2011-10-05 19:39:28
【问题描述】:

我用这段代码创建了一个 NSWindow,但我没有收到任何鼠标或键盘事件:

window = [[OverlayWindow alloc] initWithContentRect:bounds styleMask:NSBorderlessWindowMask backing:NSBackingStoreBuffered defer:NO];
[parentWindow addChildWindow:window ordered:NSWindowAbove];
NSView * rootView = [[OverlayView alloc] init];
[window setOpaque:NO];
[window setBackgroundColor:[NSColor clearColor]];
[window setContentView:rootView];
[window setIgnoresMouseEvents:NO];
[self reshapeToRect:bounds];

在 OverlayWindow 中:

- (BOOL) canBecomeKeyWindow { return YES; }
- (BOOL) canBecomeMainWindow { return YES; }
- (BOOL) acceptsFirstResponder { return YES; }
- (BOOL) becomeFirstResponder { return YES; }
- (BOOL) resignFirstResponder { return YES; }

【问题讨论】:

  • 继续发布您的编辑作为答案

标签: cocoa nswindow


【解决方案1】:
[window orderWindow:NSWindowAbove relativeTo:[parentWindow windowNumber]];

成功了

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-04-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多