0

我有一些代码可以打开一个模式窗口(它本身由几个视图组成)并在我们单击它的任意位置时使其关闭。

这是代码的一部分:

int myFunc()
{
    // Create views
    NSPanel *panel =  ...;

    CustomNSTextView * textView = ... ;
    CustomNSImageView * imageView = ...;

    [view addSubview:textView];
    [view addSubview:imageView];
    [panel setContentView:view];

    [[NSApplication sharedApplication] runModalForWindow:panel];

    NSView* parentView = [view superview];
    [[parentView window] makeFirstResponder:parentView];


    [textView release];
    [imageView release];
    [view release];
    [panel release];
}

@implementation CustomNSTextView : NSTextView

- (void) mouseDown:(NSEvent *)theEvent
{
#pragma unused(theEvent)
    [[NSApplication sharedApplication] stopModal];
}

@implementation CustomNSImageView : NSImageView

- (void) mouseDown:(NSEvent *)theEvent
{
#pragma unused(theEvent)
    [[NSApplication sharedApplication] stopModal];
}

该错误是在窗口关闭后,应用程序(启动模态窗口)将不再接收任何键事件(虽然它仍然是模态窗口仍处于打开状态)。只有在我重新关注应用程序之后,它才会再次接收到关键事件。

请任何人给我一些想法,我在网上找不到相关的东西。

谢谢纳撒尼尔

4

0 回答 0